sort
sort参数
sort filename #按照ASCII升序排序
sort -u filename #排序并且去除重复
sort -r filename #倒叙
sort -n filename #数字排序
sort -n -k 2 -t : filename #以:划分,按照第二列数字升序排序
参数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
实例
[root@server6 ~]# cat file
hahahha
apple
cat
pig
banana
dog
pig
- 去重
-
[root@server6 ~]# sort -u file
apple
banana
cat
dog
hahahha
pig
- 按照ASCII码升序排序
-
[root@server6 ~]# sort file
apple
banana
cat
dog
hahahha
pig
pig
- 反向排序
-
[root@server6 ~]# sort -r file
pig
pig
hahahha
dog
cat
banana
apple
-
[root@server6 ~]# cat file1
2
4
2
1
11
76
34
23
- 数字排序(但并非我们想要的)
-
[root@server6 ~]# sort file1
1
11
2
2
23
34
4
76
- 按照数字排序
-
[root@server6 ~]# sort -n file1
1
2
2
4
11
23
34
76
- 去重按照数字排序
-
[root@server6 ~]# sort -nu file1
1
2
4
11
23
34
76
- 去重按照数字倒序排序
-
[root@server6 ~]# sort -nur file1
76
34
23
11
4
2
1
-
[root@server6 ~]# cat file2
dog:80:5
cat:70:3
pig:90:4
- 按照数字排序
-
[root@server6 ~]# sort -n file2
cat:70:3
dog:80:5
pig:90:4
- 效果同上
-
[root@server6 ~]# sort -n -k 2 -t : file2
cat:70:3
dog:80:5
pig:90:4
- 以:划分列,进行排序
-
[root@server6 ~]# sort -n -k 3 -t : file2
cat:70:3
pig:90:4
dog:80:5
-
[root@server6 ~]# cat file2
Dog:80:5
cat:70:3
Pig:90:4
- 忽略大小写升序排序
-
[root@server6 ~]# sort -f file2
cat:70:3
Dog:80:5
Pig:90:4