linux 中 sort命令 -k选项

 

sort -k选项用于指定按照哪一列进行排序。

 

001、

复制代码
root@DESKTOP-1N42TVH:/home/test5/test# ls
facebook.txt
root@DESKTOP-1N42TVH:/home/test5/test# cat facebook.txt
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 1 facebook.txt  ## 按照第一列的第一个字符排序
baidu 100 5000
google 110 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 2 facebook.txt  ## 按照第二列的第一个字符排序
sohu 100 4500
baidu 100 5000
google 110 5000
guge 50 3000
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 3 facebook.txt  ## 按照第三列的第一个字符排序
guge 50 3000
sohu 100 4500
baidu 100 5000
google 110 5000
复制代码

 

002、

复制代码
root@DESKTOP-1N42TVH:/home/test5/test# ls
facebook.txt
root@DESKTOP-1N42TVH:/home/test5/test# cat facebook.txt
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 2n facebook.txt  ## 第二列按照整数值排序
guge 50 3000
baidu 100 5000
sohu 100 4500
google 110 5000
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 2n -k 3n facebook.txt ## 第二列、第三列依次按照整数值排序
guge 50 3000
sohu 100 4500
baidu 100 5000
google 110 5000
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 2n -k 1 facebook.txt ## 
guge 50 3000
baidu 100 5000
sohu 100 4500
google 110 5000
复制代码

 

003、

复制代码
root@DESKTOP-1N42TVH:/home/test5/test# ls
facebook.txt
root@DESKTOP-1N42TVH:/home/test5/test# cat facebook.txt
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 1 facebook.txt  ## 按照第一列排序
baidu 100 5000
google 110 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 1.2 facebook.txt  ## 按照第一列的第二个字符排序
baidu 100 5000
sohu 100 4500
google 110 5000
guge 50 3000
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 1.3 facebook.txt  ## 按照第一列的第三个字符排序
guge 50 3000
sohu 100 4500
baidu 100 5000
google 110 5000
复制代码

 

004、

复制代码
root@DESKTOP-1N42TVH:/home/test5/test# ls
facebook.txt
root@DESKTOP-1N42TVH:/home/test5/test# cat facebook.txt
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 1.2 facebook.txt   ## 按照第一列的第2个字符排序
baidu 100 5000
sohu 100 4500
google 110 5000
guge 50 3000
root@DESKTOP-1N42TVH:/home/test5/test# sort -t " " -k 1.2 -k 3.2 facebook.txt ## 按照第一列的第2个字符排序
baidu 100 5000
sohu 100 4500
google 110 5000
guge 50 3000
root@DESKTOP-1N42TVH:/home/test5/test# sort -t " " -k 1.2,1.2 -k 3.2 facebook.txt ## 按照第一列的第二个字符排序,然后按照第3列的第2个字符排序
baidu 100 5000
google 110 5000
sohu 100 4500
guge 50 3000
复制代码

 

005、

复制代码
root@DESKTOP-1N42TVH:/home/test5/test# ls
facebook.txt
root@DESKTOP-1N42TVH:/home/test5/test# cat facebook.txt
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 2 facebook.txt  ## 从第二个与开始排序
sohu 100 4500
baidu 100 5000
google 110 5000
guge 50 3000
root@DESKTOP-1N42TVH:/home/test5/test# sort -k 2,2 facebook.txt  ## 从第二个与开始排序,到第二个域结束,然后从头排序
baidu 100 5000
sohu 100 4500
google 110 5000
guge 50 3000
复制代码

 

006、

复制代码
root@DESKTOP-1N42TVH:/home/test5/test# ls
facebook.txt
root@DESKTOP-1N42TVH:/home/test5/test# cat facebook.txt
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
root@DESKTOP-1N42TVH:/home/test5/test# sort -t " " -k 2n,2n facebook.txt ## 按照数值,从第二个域开始到第二个域结束进行排序,然后从头开始排序
guge 50 3000
baidu 100 5000
sohu 100 4500
google 110 5000
root@DESKTOP-1N42TVH:/home/test5/test# sort -t " " -k 2n,2n -k 3n,3n facebook.txt ## 先按照第二个域按照数值排序,然后第三个域数值进行排序,然后从头排序
guge 50 3000
sohu 100 4500
baidu 100 5000
google 110 5000
复制代码

 

posted @   小鲨鱼2018  阅读(1659)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示