分类:
2006-07-27 14:57:48
比如有如下文件:
[root@MD_90_22 bin]# vi test
10061 2575617 300318-014640
241187940 53755056 6030 2 MPEG4-PS
8399474 2150265363 300318-014640
241193970 65424832 6030 2 MPEG4-PS
8399537 2150281477 300318-014640
240000000 65100604 6000 2 MPEG2-PS
10060 2575373 300318-014640
241193970 65423496 6030 2 MPEG4-PS
8399467 2150263558 300318-014640 241200000
134432220 6030 2 MPEG2-TS
8399464 2150262785 300318-014640 31633740 8513976 1035 2 MPEG4-PS
439496 112510976 300318-014640
240635200 67449152 8048 2 MPEG4-TS
8399465 2150263044 300318-014640
215360000 60488624 5384 2 MPEG4-TS
484571 124050176 300318-014640
240635200 67449152 8048 2 MPEG4-TS
8398621 2150046979 300318-014640
241048868 64734527 9157 2 MPEG4-PS
8398620 2150046722 300318-014640
240199245 72871244 6435 2 MPEG2-TS
8398620 2150046720 300318-014640
241265752 73071088 6253 2 MPEG2-TS
8398618 2150046214 300318-014640 97027167 26463109 3173 2 MPEG4-PS
8399537 2150281481 300318-014640
240000000 65104048 6000 2 MPEG2-PS
8399467 2150263552 300318-014640 241120000
134398944 6028 2 MPEG2-TS
8399474 2150265355 300318-014640
241193970 65424156 6030 2 MPEG4-PS
10063 2576128 300318-014640
240299571 65265662 7881 2 MPEG4-PS
527000 134912001 300318-014640
240478975 67841076 8063 2 MPEG4-TS
8399474 2150265354 300318-014640 241193970 65424464 6030 2 MPEG4-PS
测试它是否排序ok,
[root@MD_90_22 bin]# sort -c test
sort: test:4: disorder: 10060 2575373 300318-014640 241193970 65423496 6030 2 MPEG4-PS
表示从第4行开始不符合排序规则,它的排序是以第一行为基准的,以其他行排序,它未必能检测出来
下面对之进行默认的排序,排序是以第一行为基准的.等同于
[root@MD_90_22 bin]# sort test
10060 2575373 300318-014640
241193970 65423496 6030 2 MPEG4-PS
10061 2575617 300318-014640
241187940 53755056 6030 2 MPEG4-PS
10063 2576128 300318-014640
240299571 65265662 7881 2 MPEG4-PS
439496 112510976 300318-014640
240635200 67449152 8048 2 MPEG4-TS
484571 124050176 300318-014640
240635200 67449152 8048 2 MPEG4-TS
527000 134912001 300318-014640
240478975 67841076 8063 2 MPEG4-TS
8398618 2150046214 300318-014640 97027167 26463109 3173 2 MPEG4-PS
8398620 2150046720 300318-014640
241265752 73071088 6253 2 MPEG2-TS
8398620 2150046722 300318-014640
240199245 72871244 6435 2 MPEG2-TS
8398621 2150046979 300318-014640
241048868 64734527 9157 2 MPEG4-PS
8399464 2150262785 300318-014640 31633740 8513976 1035 2 MPEG4-PS
8399465 2150263044 300318-014640
215360000 60488624 5384 2 MPEG4-TS
8399467 2150263552 300318-014640 241120000
134398944 6028 2 MPEG2-TS
8399467 2150263558 300318-014640 241200000
134432220 6030 2 MPEG2-TS
8399474 2150265354 300318-014640
241193970 65424464 6030 2 MPEG4-PS
8399474 2150265355 300318-014640
241193970 65424156 6030 2 MPEG4-PS
8399474 2150265363 300318-014640
241193970 65424832 6030 2 MPEG4-PS
8399537 2150281477 300318-014640
240000000 65100604 6000 2 MPEG2-PS
8399537 2150281481 300318-014640 240000000 65104048 6000 2 MPEG2-PS
可以使用-r 逆向排序:
[root@MD_90_22 bin]# sort -r test
8399537 2150281481 300318-014640
240000000 65104048 6000 2 MPEG2-PS
8399537 2150281477 300318-014640
240000000 65100604 6000 2 MPEG2-PS
8399474 2150265363 300318-014640
241193970 65424832 6030 2 MPEG4-PS
8399474
2150265355 300318-014640 241193970
65424156 6030 2 MPEG4-PS
8399474 2150265354 300318-014640
241193970 65424464 6030 2 MPEG4-PS
8399467 2150263558 300318-014640 241200000
134432220 6030 2 MPEG2-TS
8399467 2150263552 300318-014640 241120000
134398944 6028 2 MPEG2-TS
8399465 2150263044 300318-014640
215360000 60488624 5384 2 MPEG4-TS
8399464 2150262785 300318-014640 31633740 8513976 1035 2 MPEG4-PS
8398621 2150046979 300318-014640 241048868 64734527 9157 2 MPEG4-PS
8398620 2150046722 300318-014640
240199245 72871244 6435 2 MPEG2-TS
8398620 2150046720 300318-014640
241265752 73071088 6253 2 MPEG2-TS
8398618 2150046214 300318-014640 97027167 26463109 3173 2 MPEG4-PS
527000 134912001 300318-014640
240478975 67841076 8063 2 MPEG4-TS
484571 124050176 300318-014640
240635200 67449152 8048 2 MPEG4-TS
439496 112510976 300318-014640
240635200 67449152 8048 2 MPEG4-TS
10063 2576128 300318-014640
240299571 65265662 7881 2 MPEG4-PS
10061 2575617 300318-014640 241187940 53755056 6030 2 MPEG4-PS
将其进行排序在进行判断:
[root@MD_90_22 bin]# sort test >
test_sort
[root@MD_90_22 bin]# test -c test_sort
-t 使用的分隔符,默认情况下使用空格分隔,这个主要适用于不采用首列排序的情况
如下表示 以第3列,按字符顺序排序,这里有点纳闷,1居然排在11后面?
[root@MD_90_22 bin]# sort -t: +2
/etc/passwd
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
上面的使用的是文本域, 以下使用数值域:
[root@MD_90_22 bin]# sort +3n test
8399464 2150262785 300318-014640 31633740 8513976 1035 2 MPEG4-PS
8398618 2150046214 300318-014640 97027167 26463109 3173 2 MPEG4-PS
8399465 2150263044 300318-014640
215360000 60488624 5384 2 MPEG4-TS
8399537 2150281477 300318-014640
240000000 65100604 6000 2 MPEG2-PS
8399537 2150281481 300318-014640
240000000 65104048 6000 2 MPEG2-PS
8398620 2150046722 300318-014640
240199245 72871244 6435 2 MPEG2-TS
10063 2576128 300318-014640
240299571 65265662 7881 2 MPEG4-PS
527000 134912001 300318-014640
240478975 67841076 8063 2 MPEG4-TS
439496 112510976 300318-014640
240635200 67449152 8048 2 MPEG4-TS
484571 124050176 300318-014640
240635200 67449152 8048 2 MPEG4-TS
8398621 2150046979 300318-014640
241048868 64734527 9157 2 MPEG4-PS
8399467 2150263552 300318-014640 241120000
134398944 6028 2 MPEG2-TS
10061 2575617 300318-014640
241187940 53755056 6030 2 MPEG4-PS
10060 2575373 300318-014640
241193970 65423496 6030 2 MPEG4-PS
8399474 2150265354 300318-014640
241193970 65424464 6030 2 MPEG4-PS
8399474 2150265355 300318-014640
241193970 65424156 6030 2 MPEG4-PS
8399474 2150265363 300318-014640
241193970 65424832 6030 2 MPEG4-PS
8399467 2150263558 300318-014640 241200000
134432220 6030 2 MPEG2-TS
8398620 2150046720 300318-014640 241265752 73071088 6253 2 MPEG2-TS
使用-k, 则从1开始排序.
[root@MD_90_22 bin]# sort -k +4n test
8399464 2150262785 300318-014640 31633740 8513976 1035 2 MPEG4-PS
8398618 2150046214 300318-014640 97027167 26463109 3173 2 MPEG4-PS
8399465 2150263044 300318-014640
215360000 60488624 5384 2 MPEG4-TS
8399537 2150281477 300318-014640
240000000 65100604 6000 2 MPEG2-PS
8399537 2150281481 300318-014640 240000000 65104048 6000 2 MPEG2-PS
8398620 2150046722 300318-014640
240199245 72871244 6435 2 MPEG2-TS
10063 2576128 300318-014640
240299571 65265662 7881 2 MPEG4-PS
527000 134912001 300318-014640
240478975 67841076 8063 2 MPEG4-TS
439496 112510976 300318-014640
240635200 67449152 8048 2 MPEG4-TS
484571 124050176 300318-014640
240635200 67449152 8048 2 MPEG4-TS
8398621 2150046979 300318-014640
241048868 64734527 9157 2 MPEG4-PS
8399467 2150263552 300318-014640 241120000
134398944 6028 2 MPEG2-TS
10061 2575617 300318-014640
241187940 53755056 6030 2 MPEG4-PS
10060 2575373 300318-014640
241193970 65423496 6030 2 MPEG4-PS
8399474 2150265354 300318-014640
241193970 65424464 6030 2 MPEG4-PS
8399474 2150265355 300318-014640
241193970 65424156 6030 2 MPEG4-PS
8399474 2150265363 300318-014640
241193970 65424832 6030 2 MPEG4-PS
8399467 2150263558 300318-014640 241200000
134432220 6030 2 MPEG2-TS
8398620 2150046720 300318-014640 241265752 73071088 6253 2 MPEG2-TS
另外 –num 则表示忽略这列的排序
Unix下面可以采用
–m来合并文件