我只想按数字顺序按第二列中的第二个字符对文件进行排序。 像这样的示例文件:
aa 19
aa 189
aa 167
ab 13
nd 23
at 32
ca 90
我希望结果如
ca 90
at 32
ab 13
nd 23
aa 167
aa 189
aa 19
我使用命令sort -n -k 2.2,2.2 [filename]
。
但它向我展示了这样的结果:
aa 167
aa 189
aa 19
ab 13
nd 23
at 32
ca 90
这不是正确的答案。有人知道我的命令有什么问题吗?
答案 0 :(得分:3)
问题是你没有指定正确的列分隔符,sort
假设它是标签而不是空格。
sort -t ' ' -nk 2.2
工作正常。
编辑:在我的man
页面中,它表示默认情况下任何空格都被计为分隔符,但事实是添加-t ' '
会解决它。
答案 1 :(得分:0)
sort -t ' ' -k2.2,2.2 filename