Linux sort命令
Linux sort命令
Linux sort命令用于将文本文件内容加以排序。
sort可针对文本文件的内容,以行为单位来排序。
语法
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
参数说明
1 -b 忽略每行前面开始出的空格字符。
2 -c 检查文件是否已经按照顺序排序。
3 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
4 -f 排序时,将小写字母视为大写字母。
5 -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
6 -m 将几个排序好的文件进行合并。
7 -M 将前面3个字母依照月份的缩写进行排序。
8 -n 依照数值的大小排序。
9 -u 意味着是唯一的(unique),输出的结果是去完重了的。
10 -o<输出文件> 将排序后的结果存入指定的文件。
11 -r 以相反的顺序来排序。
12 -t<分隔字符> 指定排序时所用的栏位分隔字符。
13 +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
14 --help 显示帮助。
15 --version 显示版本信息。
1 -b: ignore-leading-blanks,忽略前面空格符部分 2 3 -d: data-order,仅考虑空格和字母数字字符 4 5 -f: ignore-case,忽略大小写 6 7 -g: general-numeric-sort,根据一般数值进行排序 8 9 -i: ignore-nonprinting,忽略不可打印的字符,比如换行符、回车符 10 11 -M: month-sort,以月份进行排序 12 13 -n: numeric-sort,根据字符串数值进行排序 14 -r: reverse,反向输出排序结果 15 -c: check,检查文本是否已排序,如果不是,则输出第一个乱序的行的相关信息,返回1 16 -k N: key,以第N列进行排序 17 -m S1 S2: merge,合并已排序的S1、S2文本,不再排序 18 19 -o File: output,将结果写入File中 20 21 -s: stable,通过禁用最后的比较来稳定排序 22 -t sep: field-separator,使用sep作为分隔符来区分列 23 -u: unique,去掉重复的行 24 25 -z: 零终止的结束行,0字节,而不是换行符
栗子
1 [root@alwen shell]# cat sort.txt 2 1 mac 2000 3 3 winxp 4000 4 2 linux 1000 5 4 win7 1000 6 2 linux 1000
1. 以数字进行排序
-n 依照数值的大小排序。
1 [root@alwen shell]# sort -n sort.txt 2 1 mac 2000 3 2 linux 1000 4 2 linux 1000 5 3 winxp 4000 6 4 win7 1000
-g: general-numeric-sort,根据一般数值进行排序
1 [root@alwen shell]# sort -g sort.txt 2 1 mac 2000 3 2 linux 1000 4 2 linux 1000 5 3 winxp 4000 6 4 win7 1000
2. 反向排序
1 [root@alwen shell]# sort -r sort.txt 2 4 win7 1000 3 3 winxp 4000 4 2 linux 1000 5 2 linux 1000 6 1 mac 2000
3. 以指定列进行排序(以下为第三列)
1 [root@alwen shell]# sort -k3 sort.txt 2 2 linux 1000 3 2 linux 1000 4 4 win7 1000 5 1 mac 2000 6 3 winxp 4000
4.排序结果去除重复的行
-u: unique,去掉重复的行
1 [root@alwen shell]# sort -u sort.txt 2 1 mac 2000 3 2 linux 1000 4 3 winxp 4000 5 4 win7 1000
5.合并两个已排序的文本
-m S1 S2: merge,合并已排序的S1、S2文本,不再排序
1 [root@alwen shell]# sort -m file uniq.txt 2 192.168.12.1 3 192.168.12.1 4 192.168.12.1 5 192.168.12.1 6 192.168.12.1 7 192.168.12.1 8 192.168.13.1 9 192.168.13.1 10 192.168.13.1 11 192.168.13.1 12 192.168.13.1 13 192.168.13.1 14 192.168.13.1 15 aaa 16 bbb 17 ccc 18 ddd 19 eee 20 aaa 21 bbb 22 ccc
只是单纯的合并,不会进行排序
转载于:https://www.cnblogs.com/zhumengke/articles/13339205.html

浙公网安备 33010602011771号