今天,来介绍几个常用文本处理命令和vim文本编辑器

day3--常用文本处理命令和vim文本编辑器

  col,用于过滤控制字符,-b过滤掉所有控制字符,这个命令并不常用,但可以使用man 命令名| col -b >help.txt

导出一份帮助文档。|是管道符,用于把前面的执行结果经由一个“管道”送给后方

man ls | col -b > ls_help                          #把ls命令的帮助文档导出

  cut命令从每一行剪切掉字节,并写至标准输出

cut -b            #以字节为单位进行分割
cut -b "1,3" #输出第一个和第三个字节
cut -c #以字符为单位进行分割
cut -d #定义分隔符,需要和-f一起使用
cut -f #配合-d使用,输出字段
cut -output-delimiter='分隔符' #将分隔符替换为自己的分隔符

  wc统计命令

wc -c        #显示字节数
wc -l #显示行号
wc -w #显示字数

  练习:使用管道符 wc统计命令和cut命令来统计出文件的字符数,并打印到屏幕

  

  echo命令,输出

echo -n             #不换行输出

  head -n,查看文件前n行,默认10行

  tail  -n,查看文件后n行,默认10行

  练习:使用head和tail配合管道符,输出/var/log/message倒数10到15行内容

  cat 查看文件信息

  more 以一页一页的形式显示出文件信息,空格是下一页,b键会往回一页显示

  less,使用less可以随意浏览文件

  sort排序

sort -b         #忽略每行开始的空格字符
sort -c #检查文件是否按照顺序排序
sort -f #将小写字母视为大写字母
sort -o 输出文件 #将结果存入指定文件
sort -r #以相反顺序排序
sort -n      #按照数值大小排序
sort -t分隔符   #指定分隔符

  示例:

   

  uniq 去除重复的行

  示例:(前面的数字表示一共出现了几次)  

  

  当重复的行不相邻时,uniq是不起作用的,于是需要配合sort来使用去除重复的行

  练习:使用uniq,sort来去除不相邻重复的行

  

  tr命令对标准输入的字符进行替换

echo "hello,fissure" | tr 'a-z' 'A-Z'            #将小写转化为大写

 vim文本编辑器

  vim是一个方便的编辑器,对于程序开发,脚本的编写来说是一把利器。

  vim分为三种模式:命令模式,输入模式,底边模式

  最小安装是没有vim这个包的,我们需要安装

sudo apt-get install vim-gtk     #Ubuntu
yum install vim -y #CentOS

  安装成功后,我们输入命令 vim day03.txt

  此时我们就进入了命令模式,此状态下无法输入,可以为vim传递命令,a或i切换到输入模式

  我们在命令模式下敲冒号:,就进入了底边模式,底边模式下q为退出程序,w为保存文件,wq退出程序,以上命令后面加感叹号!代表强制执行

  vim命令模式下常用快捷键

    Ctrl+f   屏幕向下移动一页

    Ctrl+b   屏幕向上移动一页

    home或0  移动到一行最前面的字符

    end或$   移动到这一行最后面的字符

    G    移动到最后一行

    gg    移动到第一行

    数字+G  移动到第几行

    数字    向下移动几行

    /string    查找string字符串

    yy     复制当前行

    dd     删除当前行

    u      复原上一个动作

    p      从下一行开始粘贴

    P      从上一行开始粘贴

    

最新文章

  1. 个人CTF资源聚合
  2. EL表达式判断
  3. 第57讲:Scala中Dependency Injection实战详解
  4. C#Winform程序如何发布并自动升级(图解)
  5. jsp的一些基本语法
  6. [LOJ 1248] Dice (III)
  7. ubuntu自定义服务模板
  8. word的不同章节之间添加不同的页眉
  9. Delphi基本图像处理代码
  10. (转)matlab 字符串处理函数
  11. js获得url内的参数
  12. thinkinginjava学习笔记03_基本语法
  13. c# Base64解密加密
  14. leetcode19
  15. 多态使用时,父类多态时需要使用子类特有对象。需要判断 就使用instanceof
  16. Java并发编程:什么是线程安全,以及并发必须知道的几个概念
  17. 由于找不到MSVCP20.dll,无法继续执行代码
  18. Opencv 入门学习之图片人脸识别
  19. 哈希学习(2)—— Hashing图像检索资源
  20. 【AtCoder】AGC011 E - Increasing Numbers

热门文章

  1. 初识Grep
  2. 5.秋招复习简单整理之请介绍一下List和ArrayList的区别,arrayList和HashSet区别?
  3. APM系统SkyWalking介绍
  4. Asp.Net url参数加密存在特殊符号处理方法
  5. 多线程总结-同步之volatile关键字
  6. Centos6.5安装Redis3.2.8
  7. 根据数据库帮助类采用事务插入图片到sql server数据库中
  8. 使用nginx+tomcat实现动静分离
  9. Visual Studio 调试系列1 Debug 与 Release 模式
  10. 【剑指offer】面试题(三)