当前位置: > Linux命令 >

linux sort命令用法实例教程

时间:2014-06-26 14:05来源:linux.it.net.cn 作者:IT网

linux sort命令用法实例教程

linux下sort命令: 
对文本文件内容 行 排序

参数: 
 

-t 指定分隔符,默认tab或空格 
-k 以哪列进行排序,上面-t分割后,1行可能有多列 
   可以指定多列排序 
   语法:开始列[.第几个字符,结束列.第几个字符] 
        括号内可以省略不指定 
-r 降序,默认升序 
-u 去除重复行 
-n 以数字进行排序,默认以字符 
-f 忽略大小写

例1,建立第一个测试文件 
 

复制代码代码示例:
# cat > one.txt  
4  
6  
22  
7  
3  
18 

例2,排序 
 

复制代码代码示例:
# sort one.txt   
18  
22  
3  
4  
6  

3比22大,因为默认以字符进行排序,一个一个位置进行比较

例3,以数字进行排序 
 

复制代码代码示例:
# sort -n one.txt   
3  
4  
6  
7  
18  
22 

例4,以数字进行倒序排列 
 

复制代码代码示例:
# sort -nr one.txt   
22  
18  
7  
6  
4  

例5,第二个测试文本 
 

复制代码代码示例:

# cat > two.txt  
beijing 京 19500 7.7  
shanghai 沪 21602 7.7  
tianjin 津 14370 12.5  
chongqing 渝 12656 12.3 

# sort two.txt  
beijing 京 19500 7.7  
chongqing 渝 12656 12.3  
shanghai 沪 21602 7.7  
tianjin 津 14370 12.5 

例6,以空格分隔每行,第三列进行数字排序 
 

复制代码代码示例:
# sort -t ' ' -k 3,3n two.txt   
chongqing 渝 12656 12.3  
tianjin 津 14370 12.5  
beijing 京 19500 7.7  
shanghai 沪 21602 7.7 

例7,以空格进行分隔每行,第三列的第2至第3个字符进行按数字排序 
 

复制代码代码示例:
# sort -t ' ' -k 3.2,3.3n two.txt  
shanghai 沪 21602 7.7  
chongqing 渝 12656 12.3  
tianjin 津 14370 12.5  
beijing 京 19500 7.7 

例8,以空格进行分隔每行,第一列的第2至第3个字符进行排序 
 

复制代码代码示例:
sort -t ' ' -k 1.2,1.3 two.txt   
beijing 京 19500 7.7  
shanghai 沪 21602 7.7  
chongqing 渝 12656 12.3  
tianjin 津 14370 12.5 

例9,以空格进行分隔每行,第一列的第2至第2(即只有第2个)个字符进行排序 
 

复制代码代码示例:
# sort -t ' ' -k 1.2,1.2 two.txt   
beijing 京 19500 7.7  
chongqing 渝 12656 12.3  
shanghai 沪 21602 7.7  
tianjin 津 14370 12.5 

例10,在上面的基础上添加-u 去除重复 
 

复制代码代码示例:
# sort -t ' ' -k 1.2,1.2 -u two.txt  
beijing 京 19500 7.7  
shanghai 沪 21602 7.7  
tianjin 津 14370 12.5 

例11,以空格进行分隔每行,第一列的第2至第2(即只有第2个)个字符进行排序。
然后,在此基础上对第三列进行数字排序。
 

复制代码代码示例:
# sort -t ' ' -k 1.2,1.2 -k 3,3n two.txt   
beijing 京 19500 7.7  
chongqing 渝 12656 12.3  
shanghai 沪 21602 7.7  
tianjin 津 14370 12.5

以上通过实例介绍了linux sort命令的用法,希望对大家有所帮助。

 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容