代码之家  ›  专栏  ›  技术社区  ›  Felix Dombek

根据特定子字符串对Bash中的字符串列表进行数字排序

  •  2
  • Felix Dombek  · 技术社区  · 6 年前

    我有一个字符串列表,不幸的是,它似乎不适合自己排序 sort --key=??? .

    这是字符串:

    Original                        40.101 s                   40.556 s
    User XYZ                         3.389 s                    3.261 s
    User XYZ/User ABC                5.342 s                    5.300 s
    Somebody else                   32.531 s                   32.154 s
    My friend Tony the Pony          5.905 s                    5.639 s
    L33t                            27.007 s                   26.893 s
    Serial port                      7.871 s                    7.738 s
    Unknown user                     2.815 s                    2.700 s
    

    我希望它是按照第一个数字排序,升序或降序其实并不重要,虽然它将是伟大的,知道一个解决方案,原则上可以做到这两个。

    sort --key=2 <<HERE ... HERE

    1 回复  |  直到 6 年前
        1
  •  3
  •   Felix Dombek    6 年前

    -k 选择 sort 命令:

    sort -n -k1.30 file
    

    sort -nr -k1.30 file
    

    1.30 表示跳过字段1的前30个字符。

    这个 -n