美文网首页Linux初学者学习笔记
20170725 文本处理工具(一)

20170725 文本处理工具(一)

作者: 哈喽别样 | 来源:发表于2017-07-25 17:58 被阅读4次

一、文本查看工具

  • cat cat [options] file...
  • option:
-E     <!--显示文本行结束符$-->
-A     <!--显示所有隐藏字符-->
-n     <!--每行行首显示行号-->
-b     <!--只对非空行显示行号-->
-s     <!--压缩连续空行成一行-->
  • tac 从下至上输出每一行
  • rev 每一行从右至左输出
  • 实验:查看文件/etc/fstab,显示行末结束符,显示行首编号
    • 命令:cat -En /etc/fstab

二、分页查看文件

  • more
    语法:
more [options] file...
more -d file 显示翻页、退出提示
  • less
    语法:less file
    less功能与more相似,增加了向上翻页功能,可以进行文本搜索

三、显示文本前行、后行内容

  • head 显示文本前行内容
    语法:head [OPTION]... [FILE]...
    选项:
-c #     <!--指定获取前#字节-->
-n #     <!--指定获取前#行-->
-#       <!--指定获取前#行-->
  • tail 显示文本后行内容
    语法:tail [OPTION]... [FILE]...
    选项:
-c #     <!--指定获取后#字节-->
-n #     <!--指定获取后#行-->
-#       <!--指定获取后#行-->
-f       <!--跟踪显示文件新追加的内容,常用日志监控-->
  • 实验:显示/etc/fstab文件的第9行
    • 命令:head -9 /etc/fstab | tail -1

四、cut 按列抽取文本

  • 语法:cut [OPTION]... [FILE]...
  • 选项:
-d      <!--指明分隔符,默认tab-->
-f #    <!--第#个字段-->
-c      <!--按字符切割-->
--output-delimiter=STRING    <!--指定输出分隔符-->
  • 实验:
    1、抽取出df结果第7行的分区和挂载点,分隔符采用";"
    2、抽取出df结果第8行的第9-31个字符(不含空格)
    • 命令:
df | head -7 | tail -1 | tr -s " " | cut -d" " -f1,6 --output-delimiter=";"
df | head -8 | tail -1 | tr -d " "  | cut -c9-31

五、paste 将两个文本同行内容合并为一行

  • 语法:paste [OPTION]... [FILE]...
  • 选项:
-d    <!--指定分隔符,默认tab-->
-s    <!--所有行合成一行显示-->
  • 实验:将/etc/passwd的前8行和/etc/group的前10行同行合并为一行,分隔符为%
    • 命令:
head -8 /etc/passwd > passwd
head -10 /etc/group > group
paste -d"%" passwd  group

六、wc 文本数据统计

  • 语法:wc [options] file
  • 选项:
-l     <!--统计行数-->
-w     <!--统计单词数-->
-c     <!--统计字节数-->
-m     <!--统计字符数-->
  • 实验:统计/usr/share/dict/linux.words的行数、单词数、字节数、字符数
    • 命令:
wc -l /usr/share/dict/linux.words
wc -w /usr/share/dict/linux.words
wc -c /usr/share/dict/linux.words
wc -m /usr/share/dict/linux.words

七、sort 文本排序

  • 语法:sort [options] file
  • 选项:
-r     <!--执行反方向整理-->
-n     <!--执行按数字大小整理-->
-f     <!--忽略字符串中的字符大小写-->
-u     <!--删除输出中的重复行-->
-t c   <!--使用c做为字段分隔符-->
-k X   <!--按照使用c字符分隔的第X列来排序-->
  • 实验:对文本文件1.txt按数字大小排序,再逆序输出一遍
    • 命令:
sort -n 1.txt
sort -nr 1.txt

八、uniq 删除重复行

  • 语法:uniq [options] file
  • 选项:
-c     <!--显示每行重复出现的次数-->
-d     <!--仅显示重复过的行-->
-u     <!--仅显示不曾重复的行-->
  • 实验:统计1.txt;./文本中数字的出现次数,并且数字按照从大到小排列
    • 命令:sort -nr 1.txt | uniq -c

九、diff 比较文本文件区别

  • 语法:diff file1 file2

相关文章

网友评论

    本文标题:20170725 文本处理工具(一)

    本文链接:https://www.haomeiwen.com/subject/wdxwkxtx.html