sort -n不起作用

时间:2014-10-22 10:08:44

标签: bash sorting alphabetical

我有一个文件,我希望按字母顺序排序:

cat file
peptide9
peptide89
peptide99
peptide79
peptide4
peptide58
peptide990

当我使用

cat file | sort -n

结果是:

peptide4
peptide58
peptide79
peptide89
peptide9
peptide99
peptide990

我尝试了不同的排序选项,但结果总是一样的! 我想要的输出是

peptide4
peptide9
peptide58
peptide79
peptide89
peptide99
peptide990

2 个答案:

答案 0 :(得分:4)

您可以使用--version-sort-V):

$> sort --version-sort t
peptide4
peptide9
peptide58
peptide79
peptide89
peptide99
peptide990

另一种选择是"使用' e'作为分隔符,将3列排序为数字":

$> sort -te -k3 -n t
peptide4
peptide9
peptide58
peptide79
peptide89
peptide99
peptide990

答案 1 :(得分:3)

按数字排序,键从第1个字符的第8个字符开始 字段:

sort -n -k1.8 file

使用该键排序,将其视为数字,而不是其他字段 (如果您拥有其他字段,则非常有用):

sort -k1.8n file

info sort了解更多详情。