sort/uniq用法详解。

在工作中经常用到sort命令,sort和uniq命令一起使用,来排序文档。这里详细的介绍sort/uniq的用法。

1, -u/--unique 起到uniq命令的作用,删除重复行,只留一个。

sort -u test

2, -r/--reverse 降序排列。

sort -r test

3, -o/--output=FILE, 重定向。sort输出默认是标准输出。重定向时,我们可以用>,>>重定向排序后的文件。但是,如果要重定向到原文件,则>,>>不能胜任了,这时候需要用-o/--output=FILE。例如:

sort -r number.txt -o number.txt

4, -n/--numeric-sort, 经常用在只有数字字符的文档,sort默认会把数字当作字符排序。加上-n则把字符当作数字排序。例如:

sort -n number.txt

5, -t/--field-separator=SEP, -k/--key=POS1[,POS2]

-n单独使用闲置多多,因为有时候数字是镶嵌在字符里的。这时候,我们可以用-t和-k分割指定排序。例如:

[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4

[rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

6, -h/--human-numeric-sort,这个选项类似df -h, ls -h等命令的参数,适合有单位的数值比较。例如:

[nanhuang@nanhuang ~]$ cat tt.txt 
200K
2G
1000M
[nanhuang@nanhuang ~]$ sort -h tt.txt 
200K
1000M
2G

7, -i/--ignore-nonprinting。忽略非打印字符。

8, -M/--month-sort,按照英文月份比较。

[nanhuang@nanhuang ~]$ cat tt.txt 
Aprl:1000M:2000
Jan:400G:1000
[nanhuang@nanhuang ~]$ sort -t ':' -k 1 -M tt.txt 
Jan:400G:1000
Aprl:1000M:2000




你可能感兴趣的:(linux,bash,sort,uniq)