一、sort
1.原则
- sort将文件的每一行作为一个单位,相互比较。比较的原则是从首字符向后,依次按照ACKLL码值进行比较,最后将它们按升序输出。
举例如下:
2.常见选项
- -r选项:降序排列(由于sort的默认排序是按照升序排列的,想要按照降序排列在sort中加-r就可以了)
- -u选项:在输出的行中去除重复行
- -n选项:“要以数值来排序”
- -t选项和-k选项:-t可以设定间隔符,-k用于指定列数进行排序
3.其他选项
- -f选项:将小写字母转换成大写字母来进行比较,也就是说忽略大小写
- -c选项:检查文件是否以排序好。如果乱序,则输出第一个乱序的行的相关信息,最后返回1
- -C选项:检查文件是否以排序好。如果乱序,不输出内容,仅返回1
- -b选项:忽略每一行前面的所有空白部分,从第一个可见字符开始比较
如果需要查询更多关于sort的选项,可以使用man手册,即:man sort
二、uniq
1.原则
- 显示文件中出现的不同的字符串(若某一个字符串有很多行,显示从上往下最开始出现的一行所在的字符串)
举例如下:
2.常用选项
- -c选项:显示输出中,在每行行首加上本行在文件中出现的次数。它可以取代-u和-d两个选项
- -d选项:只显示重复行
- -u选项:只显示文件中不重复的各行
3.练习
- 结合工具sort和uniq实现file1和file2两个文件的交集、并集、补集
结果如下:
如果要查询更多有关uniq的选项,使用man手册,即:man uniq