linux 之 sort、uniq、wc

sort

对文件指定的行拍戏,并将结果写到标准输出。

语法:

-f 忽略大小写的差异
-b 忽略最前面空格符部分
-n 使用纯数字进行排序
-r 反向排序
-u 相同的数据,仅出现一行(uniq)
-t 分隔符
-k 以哪个区间来排序

举例:

  • cat list.txt | sort    #  sort 是默认以第一个数据来排序,而且默认是以字符串形式来排序,所以由字母 a 开始升序排序
  • cat list.txt | sort -t ',' -k 3    # , 分割后,以第三列进行排序
  • cat list.txt | sort -t ',' -k 3n     # , 分割后,以第三列数字进行排序
root@iZ2zehj2kgftilijp2g5n5Z:~/ljm# cat list.txt | sort -t ',' -k 3
b, 3, 
b, 1, 1
a, 1, 10
b, 2, 2
c, 1, 21
a, 2, 220
a, 2, 220
a, 2, 220
b, 0, 220
c, 2, 31
a, 3, 310
c, 3, 41

 

 uniq

uniq 命令可以去除排序过的文件中的重复行(只对相邻的重复行起作用,所以uniq经常和 sort 合用)

uniq语法:

-i 忽略大小写字符的不同
-c 进行计数
-u  只显示唯一的行

示例:

root@iZ2zehj2kgftilijp2g5n5Z:~/ljm# cat list.txt | sort | uniq -c
      1 a, 1, 10
      3 a, 2, 220
      1 a, 3, 310
      1 b, 0, 220
      1 b, 1, 1
      1 b, 2, 2
      1 b, 3, 
      1 c, 1, 21
      1 c, 2, 31
      1 c, 3, 41

 

wc

统计文件里面有多少单词,多少行,多少字符

语法:

-l  输出行
-w  输出多少字
-m  输出多少字符

示例:

root@iZ2zehj2kgftilijp2g5n5Z:~/ljm# cat list.txt | wc
     12      35     109
root@iZ2zehj2kgftilijp2g5n5Z:~/ljm# cat list.txt | wc -l
12
root@iZ2zehj2kgftilijp2g5n5Z:~/ljm# cat list.txt | wc -w
35
root@iZ2zehj2kgftilijp2g5n5Z:~/ljm# cat list.txt | wc -m
109

 

posted @ 2021-11-30 20:44  keep2021  阅读(82)  评论(0编辑  收藏  举报