8.5-文本处理工具(命令篇)

 1、文件查看命令: cat, tac,rev

cat [OPTION]... [FILE]...
    -E: 显示行结束符$
    -n: 对显示出的每一行进行编号
    -A:显示所有控制符
    -b: 非空行编号
    -s:压缩连续的空行成一行
  
    [root@localhost ~]# cat -E aa
    sadsada asda$
     dasdasd  adas$
    $
      adas$
    [root@localhost ~]# cat -A aa
    sadsada^Iasda$
    ^Idasdasd^I^Iadas$
    $
    ^I^Iadas$
    [root@localhost ~]# cat -b aa
         1 sadsada asda
         2  dasdasd  adas
    
         3   adas
tac命令用于将文件以行为单位的反序输出,即第一行最后显示,最后一行先显示
    -a或——append:将内容追加到文件的末尾
    -i或——ignore-interrupts:忽略中断信号
rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出

2、分页查看文件内容

more [OPTIONS...] FILE...
    -d: 显示翻页及退出提示
    
  less:一页一页地查看文件或STDIN输出
    查看时有用的命令包括:
    /文本 搜索 文本
    n/N 跳到下一个 或 上一个匹配
    less 命令是man命令使用的分页器

 3、显示文本前或后行内容

head [OPTION]... [FILE]...
    -c #: 指定获取前#字节
    -n #: 指定获取前#行
    -#: 指定行数
tail [OPTION]... [FILE]...
    -c #: 指定获取后#字节
    -n #: 指定获取后#行(n可省略)
    -n +#:显示文本,忽略文件前n行
    -f: 跟踪显示文件新追加的内容,常用日志监控

4、cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。

cut(选项)(参数)
    -b:仅显示行中指定直接范围的内容;
    -c:仅显示行中指定范围的字符;
    -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
    -f:显示指定字段的内容;
        #: 第#个字段
        #,#[,#]:离散的多个字段,例如1,3,6
        #-#:连续的多个字段, 例如1-6
        混合使用: 1-3,7
    --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
显示文件或STDIN数据的指定列
cut -d: -f1 /etc/passwd
cut /etc/passwd | cut -d: -f7
cut -c2-5 /usr/share/dict/word

5、paste 合并两个文件同行号的列到一行

  paste [OPTION]... [FILE]...
      -d 分隔符:指定分隔符,默认用TAB
      -s : 所有行合成一行显示
      paste f1 f2
      paste -s f1 f2

6、计数单词总数、行总数、字节总数和字符总数

可以对文件或STDIN中的数据运行
    $ wc story.txt
      39 237 1901 story.txt
      行数 字数 字符数
      使用 -l 来只计数行数
      使用 -w 来只计数单词总数
      使用 -c 来只计数字节总数
      使用 -m 来只计数字符总数

7、把整理过的文本显示在STDOUT,不改变原始文件

$ sort [options] file(s)
    常用选项
    -r 执行反方向(由上至下)整理
    -n 执行按数字大小整理
    -f 选项忽略( fold)字符串中的字符大小写
    -u 选项(独特, unique)删除输出中的重复行
    -t c 选项使用c做为字段界定符
    -k X 选项按照使用c字符分隔的X列来整理能够使用多次

正则表达式

正则表达式.png

原创文章,作者:M20-1--孔祥文,如若转载,请注明出处:http://www.178linux.com/30020