1,直接上例子
文本sort.txt中的内容:
A_1
A_2
A_3
A_10
A_6
A_4
A_9
B_10
A_7
B_1
B_8
A_13
A_11
B_13
B_11
希望排序后的结果是按"_"前的关键字(也就是,A,B)先排序,在其排好序的基础上再进行"_"后的关键字(即数值)排序,即排序结果如下:
A_1
A_2
A_3
A_4
A_6
A_7
A_9
A_10
A_11
A_13
B_1
B_8
B_10
B_11
B_13
即在第一个关键字排好序的基础上再进行第二个关键字排序
Linux命令如下:
sort -t _ -k1,1 -k2n,2 sort.txt
-t :指明 "_" 为分隔符,分隔符左边为第一列,右边为第二列
-k1,1:指定了第一列先排序
-k2n,2:指定了第二列排序,n表示按照数值进行排序。