Shell基础工具(一)--sort/uniq

一、sort

1.原则
  • sort将文件的每一行作为一个单位,相互比较。比较的原则是从首字符向后,依次按照ACKLL码值进行比较,最后将它们按升序输出。
举例如下:

Shell基础工具(一)--sort/uniq_第1张图片

2.常见选项
  • -r选项:降序排列(由于sort的默认排序是按照升序排列的,想要按照降序排列在sort中加-r就可以了)
    Shell基础工具(一)--sort/uniq_第2张图片
  • -u选项:在输出的行中去除重复行
    Shell基础工具(一)--sort/uniq_第3张图片
  • -n选项:“要以数值来排序”
    Shell基础工具(一)--sort/uniq_第4张图片
  • -t选项和-k选项:-t可以设定间隔符,-k用于指定列数进行排序

Shell基础工具(一)--sort/uniq_第5张图片

3.其他选项
  • -f选项:将小写字母转换成大写字母来进行比较,也就是说忽略大小写
  • -c选项:检查文件是否以排序好。如果乱序,则输出第一个乱序的行的相关信息,最后返回1
  • -C选项:检查文件是否以排序好。如果乱序,不输出内容,仅返回1
  • -b选项:忽略每一行前面的所有空白部分,从第一个可见字符开始比较
    如果需要查询更多关于sort的选项,可以使用man手册,即:man sort

二、uniq

1.原则
  • 显示文件中出现的不同的字符串(若某一个字符串有很多行,显示从上往下最开始出现的一行所在的字符串)
举例如下:

Shell基础工具(一)--sort/uniq_第6张图片

2.常用选项
  • -c选项:显示输出中,在每行行首加上本行在文件中出现的次数。它可以取代-u和-d两个选项
    Shell基础工具(一)--sort/uniq_第7张图片
  • -d选项:只显示重复行
    Shell基础工具(一)--sort/uniq_第8张图片
  • -u选项:只显示文件中不重复的各行
    Shell基础工具(一)--sort/uniq_第9张图片
3.练习


  • 结合工具sort和uniq实现file1和file2两个文件的交集、并集、补集
    Shell基础工具(一)--sort/uniq_第10张图片
    结果如下:
    Shell基础工具(一)--sort/uniq_第11张图片

如果要查询更多有关uniq的选项,使用man手册,即:man uniq

你可能感兴趣的:(Shell脚本)