sort用于排序
1、先看下sort的各个参数
-b 忽略每行前面开始出的空格字符。 -c 检查文件是否已经按照顺序排序。 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。 -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m 将几个排序好的文件进行合并。 -M 将前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序。 -o<输出文件> 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t<分隔字符> 指定排序时所用的栏位分隔字符。 +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
2、按数字排序
-bash-3.2# sort -n |head -n 5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
3、按相反的顺序来排序
-bash-3.2# cat 1.txt 1 2 3 4 5 6 -bash-3.2# sort -r 1.txt 6 5 4 3 2 1
4、排序后的结果输入
-bash-3.2# cat 1.txt 1 2 3 4 5 6 -bash-3.2# sort -r 1.txt -o 1.txt -bash-3.2# cat 1.txt 6 5 4 3 2 1
5、按列来排序
-bash-3.2# cat 1.txt 1 a 2 b 3 c 4 d -bash-3.2# sort -k 2 -r 1.txt 4 d 3 c 2 b 1 a
6、去除相同的行
-bash-3.2# cat 1.txt 1 a 2 b 3 c 4 d 4 d -bash-3.2# sort -u 1.txt 1 a 2 b 3 c 4 d
7、间隔符
-bash-3.2# cat 1.txt 1:a:tail 2:b:one 3:c:less 4:d:more 4:d:cat -bash-3.2# sort -t: -k 2 1.txt 1:a:tail 2:b:one 3:c:less 4:d:cat 4:d:more
本文出自 “游造技术博客” 博客