wc
用来统计文本文件或stdin中的单词总数、行总数、字符总数
用法:
wc [-clmw] [file ...]
命令常用参数介绍:
-l 只计算行数
-w 只计算单词总数
-c 只计算字节总数(计算机的长度单位)
-m 只计算字符总数(语言的长度单位)
-L 显示文件中最长行的长度
常用用法
wc data1.txt
96 265 6015 data1.txt
行数 字数 字节数 文件名
sort
用法:
sort [OPTION]... [FILE]...
把文件中的内容在不改变原始文件的情况下,按照一定规则处理后输出到stdout
常用选项
-r 按照ASCII字符顺序倒叙排列行,
-R 随机排序,我们使用该选项来实现一个随机数字的抽取,
-n 按数字大小排序,如果有字母,则按照ASCII字符排序,
-f 忽略(fold)字符串中的字符大小写,
-u unique,去除输出中的重复行,
-t c c表示字符,使用字符c作为字段界定符,
-k N 按照使用c字符分割的N列来排序,该选项可以使用多次
前面几个选项比较简单,下面举例说明一个比较复杂的用法
cat /etc/passwd |sort -t: -k3
解释一下这段命令:
首先:取出/etc/passwd文件中所有的内容,
然后:通过管道交给sort命令,sort命令按行为单位,
再次:用分隔符:
将每一行分隔成多个片段,
最后:取出第3个片段来作为排序的依据
注:-t 和-k经常同时出现在命令行中
uniq
删除输入中的前后连续的重复行,在这里重复的行是指如果重复行不是相互连接的行
用法:
uniq [OPTION]... [INPUT [OUTPUT]]
-c: 在每行前面显示重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
该指令通常和sort配合使用,比如,我们如果想要去除文件中所有的重复行,可以使用sort命令排序后再去重
sort file | uinq -c