我如何在 bash 第一列中排序,但按顺序忽略任何其他列

how can i sort in bash the first column but ignore any other column in order

我想在 bash 中仅按第一列排序并保持顺序。 例如:

5 6
4 8
2 9
5 4

我想得到

2 9
4 8
5 6
5 4

但我得到

2 9
4 8
5 4
5 6

我可以用sort 命令保持顺序吗?或者以任何其他方式?

使用稳定排序:

sort -nsk1,1
  • -n 按数字排序
  • -k1,1 按第一列排序 ("from the first to the first")
  • -s表示"stable",即保持输入顺序以防平局

请注意,并非 sort 的所有实现都支持 -s,因为 POSIX 规范中并未提及。