Linux 文本处理工具
2016-09-01 21:58
302 查看
Linux 文本处理工具
wc 打印行、词、字节的数量
cut 按列切分文本
sort 排序
uniq 消除重复行
wc 打印行、词、字节的数量
语法:
wc [OPTION]... [FILE]...
选项:
-l:line 统计行数
-w:words 统计单词数
-c:characters 统计字符数
示例:
语法:
cut OPTION... [FILE]...
选项:
-d delimiter:指明分隔符(可以不用加空格)
-f fields:指定字段
#:第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段,例如1-6
混合使用:1-3,7
--output-delimiter=STRING #把string换成想要的分隔符就成
示例:
语法:
sort [OPTION]... [FILE]...
选项:
-b:忽略开头的空白
-f:忽略字符大小写
-r:逆序
-t:DELIMITER:分隔符
-k #:以指定字段为标准排序
-n:以数值大小进行排序
-u:uniq,排序后去掉重复显示
uniq命令在思想上和sort -u类似,但它有一些sor不能模拟的选项:-c累计每行出现的次数,-d只显示重复行,而-u只显示不重复的行。uniq命令的输入必须先排好序,因此通常把它放在sort命令之后运行。
语法:
uniq [OPTION]... [INPUT [OUTPUT]]
选项:
-c:显示每行重复出现的次数
-d:仅显示重复过的行
-u:仅显示不曾重复的行
Note:连续且完全相同方为重复
练习:以冒号分隔,取出/etc/passwd文件的第6至第10行,并将这些信息按第3个字段的数值大小进行排序,最后仅显示各自的第1个字段
参考:
shell脚本学习指南 P90
wc 打印行、词、字节的数量
cut 按列切分文本
sort 排序
uniq 消除重复行
wc 打印行、词、字节的数量
语法:
wc [OPTION]... [FILE]...
选项:
-l:line 统计行数
-w:words 统计单词数
-c:characters 统计字符数
示例:
[zdw@note1 ~]$ cat wctest hello world 123 [zdw@note1 ~]$ wc -l wctest #统计行数 1 wctest [zdw@note1 ~]$ wc -w wctest #统计单词数 3 wctest [zdw@note1 ~]$ wc -c wctest #统计字符数 16 wctestcut 按列切分文本
语法:
cut OPTION... [FILE]...
选项:
-d delimiter:指明分隔符(可以不用加空格)
-f fields:指定字段
#:第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段,例如1-6
混合使用:1-3,7
--output-delimiter=STRING #把string换成想要的分隔符就成
示例:
[root@node1 ~]# cut -d: -f 1,7 /etc/passwd #以:为分隔显示第1和第7列 [root@node1 ~]# cut -d: -f 1,7 --output-delimiter=' ' /etc/passwd #把:分隔符改为空格sort 排序
语法:
sort [OPTION]... [FILE]...
选项:
-b:忽略开头的空白
-f:忽略字符大小写
-r:逆序
-t:DELIMITER:分隔符
-k #:以指定字段为标准排序
-n:以数值大小进行排序
-u:uniq,排序后去掉重复显示
[root@node1 ~]# sort -t: -k3 -n /etc/passwd #以:分隔符以数值大小进行排序 [root@node1 ~]# sort -t: -k3 -n /etc/passwd |cut -d: -f3 #接上,看得更清楚uniq 消除重复行
uniq命令在思想上和sort -u类似,但它有一些sor不能模拟的选项:-c累计每行出现的次数,-d只显示重复行,而-u只显示不重复的行。uniq命令的输入必须先排好序,因此通常把它放在sort命令之后运行。
语法:
uniq [OPTION]... [INPUT [OUTPUT]]
选项:
-c:显示每行重复出现的次数
-d:仅显示重复过的行
-u:仅显示不曾重复的行
Note:连续且完全相同方为重复
[root@pop3 ~]# cat number #测试文件 tres unus duo tres duo tres [root@pop3 ~]# sort number | uniq #显示唯一的、排序后的记录,重复则仅取唯一行 duo tres unus [root@pop3 ~]# sort number | uniq -c #计数唯一的、排序后的记录 2 duo 3 tres 1 unus [root@pop3 ~]# sort number | uniq -d #仅显示重复的记录 duo tres [root@pop3 ~]# sort number | uniq -u #仅显示不重复的记录 unus |
[root@node1 ~]# history | cut -d' ' -f5 | sort -u #查看历史命令,sort -u去掉重复的 [root@node1 ~]# history | cut -d' ' -f5 | uniq #使用uniq命令,不连续的相同命令还是显示 [root@node1 ~]# history | cut -d' ' -f5 | sort | uniq [root@node1 ~]# history | cut -d' ' -f5 | sort | uniq -c #使用uniq -c,能把重复几次显示出来
练习:以冒号分隔,取出/etc/passwd文件的第6至第10行,并将这些信息按第3个字段的数值大小进行排序,最后仅显示各自的第1个字段
[zdw@note1 ~]$ cat /etc/passwd | head -n 10|tail -n 5|cut -d: -f3 | sort -n 5 6 7 8 10
参考:
shell脚本学习指南 P90
相关文章推荐
- 【Linux 入门笔记】文本处理工具
- Linux基础命令:文本处理工具之 split , cat
- Linux--shell脚本之文本处理工具
- linux基础之文本处理工具
- Linux高级文本处理工具之sed(一)
- Linux基础命令:文本处理工具之cut
- Linux的文本处理工具及grep正则表达式的使用
- linux之文本处理工具
- Linux系统上的文本处理工具之sed
- linux 初级学习之文本处理工具2-6
- Linux基础命令:文本处理工具之sort
- linux入门之文本处理工具sed粗略使用(1)
- Linux 文本处理工具
- linux菜鸟入门之文本处理小工具sed
- linux 文本处理工具之一grep命令详解
- Linux基础命令:文本处理工具之join , paste
- LINUX文本批处理工具
- linux下的文本处理工具---sed
- Linux高级文本处理工具之sed(二)
- Linux 文本处理工具、grep、正则表达式