根据固定位置处的可变宽度数字对行进行排序

根据固定位置处的可变宽度数字对行进行排序

我正在尝试使用 Sort 命令对文件进行排序,但它不起作用:

该文件包含如下行:

photo1
photo11
photo12
photo13
photo17
photo18
photo19
photo2
photo22
photo23
photo25
photo26
photo27

我正在使用该命令,sort -k6 Photos以便它在字符串“photo”之后开始排序,有人可以告诉我哪里出错了吗?

答案1

使用键的开始和结束字符位置定义排序键:

sort -nk1.6,1.8 file

查看您的友好sort联机帮助页。

答案2

您必须指定字段分隔符。

sort -n -to -k3 Photos

-to告诉sort用作o字段分隔符。数字位于第三个字段中(第一个字段包含ph,第二个字段包含t),因此我们使用-k3-n告诉sort按数字排序而不是按字母顺序排序。

相关内容