文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>【 sort 学习】

【 sort 学习】

时间:2006-01-11  来源:sunyone

-c  检查是否已按照某种顺序排过序

例如:

文件 003.txt 被:分割成4个域

# cat 003.txt
Boys:HK:192:2192
Alie:HK:119:1982
Hill:KL:63:2972
Alie:HK:532:4892
Star:HK:301:4102
Fewd:KL:445:5851
Toyg:HK:239:3972

以第3个域为基准排数字序,输出到文件004.txt

# sort -t: +2n 003.txt >004.txt

检查文件004.txt是否排过序,结果显示未排序

# sort -c 004.txt
sort: 004.txt:3: disorder: Alien:HK:119:1982
# echo $?
1

检查文件004.txt是否以第3个域为基准排过数字序,没有输出表示已经排过序了

# sort -c -t: +2n 004.txt
# echo $?
0

下面的例子的输出更人性化一些

# sort -c 004.txt 2>/dev/null && echo "yes" || echo "no"
no
# sort -c -t: +2n 004.txt  && echo "yes" || echo "no"
yes

 

-k  指定排序的基准区域,字段值从1开始

-k 3
以 从第3个字段的第1个字符到该行末尾 为基准键排正向字典序:

# sort -t: -k3 003.txt
Alie:HK:119:1982
Boys:HK:192:2192
Toyg:HK:239:3972
Star:HK:301:4102
Fewd:KL:445:5851
Alie:HK:532:4892
Hill:KL:63:2972

-k 2,4
以第2到第4个字段为基准键排正向字典序

-k 3,3
以第3个字段为基准排正向字典序

# sort -t: -k3,3 003.txt
Alie:HK:119:1982
Boys:HK:192:2192
Toyg:HK:239:3972
Star:HK:301:4102
Fewd:KL:445:5851
Alie:HK:532:4892
Hill:KL:63:2972

-k 3g,3
以第3个字段为基准排正向数字序

# sort -t: -k3g,3 003.txt
Hill:KL:63:2972
Alie:HK:119:1982
Boys:HK:192:2192
Toyg:HK:239:3972
Star:HK:301:4102
Fewd:KL:445:5851
Alie:HK:532:4892

-k 3gr,3
以第3个字段为基准排逆向数字序

# sort -t: -k3gr,3 003.txt
Alie:HK:532:4892
Fewd:KL:445:5851
Star:HK:301:4102
Toyg:HK:239:3972
Boys:HK:192:2192
Alie:HK:119:1982
Hill:KL:63:2972

-k 4.2,4.4
以 从第4个字段的第2个字符-第4个字段的第4个字符 为基准排正向字典序:

# sort -t: -k4.2,4.4 003.txt
Star:HK:301:4102
Boys:HK:192:2192
Fewd:KL:445:5851
Alie:HK:532:4892
Hill:KL:63:2972
Toyg:HK:239:3972
Alie:HK:119:1982

-k 1.4,2.2 -k 3.3gr,4.4
先以 从第1个字段的第4个字符到第2个字段的第2个字符结束的键 为基准排正向字典序,
再以 从第3个字段的第3个字符到第4个字段的第4个字符结束的键 为基准排逆向数字序:

# sort -t: -k 1.4,2.2 -k 3.3gr,4.4 003.txt
Fewd:KL:445:5851
Alie:HK:119:1982
Alie:HK:532:4892
Toyg:HK:239:3972
Hill:KL:63:2972
Star:HK:301:4102
Boys:HK:192:2192

这个例子还不够明显,有什么好例子记得告诉偶呀!

  -m  合并多个文件,不排序  
# sort -m file1 file2 file3 > outfile    效率较高
BTW:在这里可以使用 -u 选项来禁止打印相同的行。
   或者
# cat file1 file2 file3 | sort > outfile    效率较低
 
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载