[英]linux bash 'sort' in dictionary order
我正在尝试按升序对文件进行排序。 该文件同时包含字母和数字值。
aae-miR-1
aae-miR-10
aae-miR-100
aae-miR-1000
aae-miR-11-3p
aae-miR-11-5p
aae-miR-1174
aae-miR-1175-3p
aae-miR-1175-5p
aae-miR-12-3p
aae-miR-124
我希望输出为
aae-miR-1
aae-miR-10
aae-miR-11-3p
aae-miR-11-5p
aae-miR-12-3p
aae-miR-100
aae-miR-124
aae-miR-1000
aae-miR-1174
aae-miR-1175-3p
aae-miR-1175-5p`
我用了,
sort -k1,1 -n <file>
对于排序,采用数字和字母顺序,但未按预期进行。 请建议,使用sort
在这种情况下,应使用sort -t"-" -k3n file.txt
。
收到的输出:-
aae-miR-1
aae-miR-10
aae-miR-11-3p
aae-miR-11-5p
aae-miR-12-3p
aae-miR-100
aae-miR-124
aae-miR-1000
aae-miR-1174
aae-miR-1175-3p
aae-miR-1175-5p
这更加明确。 如果文件带有定界符,则
'-t'
选项用于提供定界符。 -k用于指定必须进行排序的键。 '-k'的格式为:-km[,n]
,其中m是开始键,n是结束键。 n是可选键,仅在需要时使用。
尝试:
sort -n -t- -k3 <file>
-n
将按数字排序。 -t-
将使用-
作为字段分隔符。 -k3
将使用第三个字段进行排序。 尝试使用分隔符:
sort -t - -k3n file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.