【问题标题】:stable sort in linuxlinux下的稳定排序
【发布时间】:2011-06-01 12:45:47
【问题描述】:

我有一个文件

ksh$ cat test
b d
b c
a b
a a

我想对第一个字段进行排序,但我想要稳定的排序,即第二个字段的顺序应该保持不变。我想要输出为:

a b
a a
b d
b c

如果我尝试:

ksh$sort -k1 -s test   

我明白了

a a
a b
b c
b d

请帮忙,

谢谢

【问题讨论】:

    标签: linux shell sorting sed awk


    【解决方案1】:

    您忘记限制关键字段。默认情况下,它一直使用到行尾。

    sort -k1,1 -s t.txt
    

    【讨论】:

    • 我认为对于有同样问题的人来说,解释-s 可能是值得的,但是,与最初的提问者不同,不知道它。 -s--stable 相同,没有它,其他列的顺序将不会被保留。
    【解决方案2】:

    您必须指定结束字段:

    sort -k1,1 -s test
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 2015-06-02
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      相关资源
      最近更新 更多