我正在尝试按升序对文件进行排序。该文件同时具有字母和数字值。
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是可选密钥,仅在需要时使用。