我有一个字符串列表,不幸的是它似乎不适合用 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
但不出所料,这只会导致随机顺序。
最佳答案
假设您的输入文件正确缩进了空格,请使用 sort
命令的 -k
选项:
sort -n -k1.30 file
或相反的方式:
sort -nr -k1.30 file
1.30
表示跳过第一个字段的前 30 个字符。
-n
开关按数字而不是字典顺序排序。
关于bash - 根据特定子字符串对 Bash 中的字符串列表进行数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52437691/