现在的位置: 首页Help, Linux>正文
linux命令之sort
2012年11月20日 Help, Linux 暂无评论 ⁄ 被围观 3,529 view+

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

本文出自 “游造技术博客” 博客

【上篇】
【下篇】

给我留言

留言无头像?


×
腾讯微博