1、-k 指定域 + 位置
root@DESKTOP-1N42TVH:/home/test# ls a.txt root@DESKTOP-1N42TVH:/home/test# cat a.txt ## 测试数据 google 110 5000 baidu 100 5000 guge 50 3000 sohu 100 4500 root@DESKTOP-1N42TVH:/home/test# sort -k 1 a.txt ## 按照第一列排序 baidu 100 5000 google 110 5000 guge 50 3000 sohu 100 4500 root@DESKTOP-1N42TVH:/home/test# sort -k 1.2 a.txt ## -k 1.2 表示按照第一列的第二个字符开始进行排序 baidu 100 5000 sohu 100 4500 google 110 5000 guge 50 3000
root@DESKTOP-1N42TVH:/home/test# ls a.txt root@DESKTOP-1N42TVH:/home/test# cat a.txt google 110 5000 baidu 100 5000 guge 50 3000 sohu 100 4500 root@DESKTOP-1N42TVH:/home/test# sort -k 1 a.txt baidu 100 5000 google 110 5000 guge 50 3000 sohu 100 4500 root@DESKTOP-1N42TVH:/home/test# sort -k 1.2 a.txt baidu 100 5000 sohu 100 4500 google 110 5000 guge 50 3000 root@DESKTOP-1N42TVH:/home/test# sort -k 1.3 a.txt ## 按照第一列的第三个字符开始排序 guge 50 3000 sohu 100 4500 baidu 100 5000 google 110 5000
2、
root@DESKTOP-1N42TVH:/home/test# ls a.txt root@DESKTOP-1N42TVH:/home/test# cat a.txt google 110 5000 baidu 100 5000 guge 50 3000 sohu 100 4500 root@DESKTOP-1N42TVH:/home/test# sort -k 1.2,1.2 -k 3,3rn a.txt ## 首先对第一个域的第二个字符排序,然后对第三个域按照数值逆向排序,其中的,前后表示起始 baidu 100 5000 google 110 5000 sohu 100 4500 guge 50 3000
来源:https://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html