2014-10-22 131 views
0

我有一个文件,我希望它按照字母顺序排序:排序-n不起作用

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 

回答

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 
+0

请注意,该版本不适用于负数 – 2014-10-22 10:35:06

3

排序数字,与在第1场 的第8个字符的按键首发:

sort -n -k1.8 file 

排序与该键,把它当作一个数字,而不是其他领域 (有用的,如果你有其他字段):

sort -k1.8n file 

info sort了解更多详情。