2016-09-15 45 views
3

我想在數值上對文件中顯示的行進行排序。它並不像預期的那樣。在unix/linux中進行數值排序,其中「排序-V」不可用

$ cat test 
abc1 
abc10 
abc2 
abc11 
abc20 
abcd1 
abcd10 
abcd2 
abcd11 
abcd20 
$ 

輸出: -

$ sort test 
abc1 
abc10 
abc11 
abc2 
abc20 
abcd1 
abcd10 
abcd11 
abcd2 
abcd20 
$ 

總產值有望: -

abc1 
abc2 
abc10 
abc11 
abc20 
abcd1 
abcd2 
abcd10 
abcd11 
abcd20 

請幫幫忙,感謝advanvce

回答

5

使用sort -V的字母排序,其中數字是字符串的一部分。

-V, --version-sort   natural sort of (version) numbers within text 

sort -V test 
abc1 
abc2 
abc10 
abc11 
abc20 
abcd1 
abcd2 
abcd10 
abcd11 
abcd20 
+0

$排序-V測試 排序:無效選項 - V 嘗試'排序--help」以獲取更多信息。 $ – asokan

+0

它在rhel 6.5中工作,而在rhel 5.8「-V」選項不可用 – asokan