我有一个包含两列的文件。第一列中有两个下划线分隔的数字,我想按此列按字典顺序对文件进行排序。现在,如果没有第二列,默认排序正是我想要的:
$ { echo 211_284; for ((i=2840;i<=2842;++i)); do echo 211_$i; done; echo 211_284; } | sort -k1
211_284
211_284
211_2840
211_2841
211_2842
但是如果我添加第二列(这应该与排序无关!):
$ { echo 211_284 X; for ((i=2840;i<=2842;++i)); do echo 211_$i Y; done; echo 211_284 Z; } | sort -k1
211_2840 Y
211_2841 Y
211_2842 Y
211_284 X
211_284 Z
甚至在其中一行中添加第二列:
$ { echo 211_284 X; for ((i=2840;i<=2842;++i)); do echo 211_$i; done; echo 211_284; } | sort -k1
211_284
211_2840
211_2841
211_2842
211_284 X
我如何对第一列进行排序,真的吗?