我正在尝试按升序对文件进行排序。该文件同时具有字母和数字值。

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是可选密钥,仅在需要时使用。

09-30 14:41