2013-03-29 94 views
0

我有在UNIX 我有一個包含這樣行的文本文件的排序命令一個問題:排序列2的Unix

de la (-0.167969404167593) 
de l (-0.137148984295644) 
la commission (0.0922090559997898) 
à la (-0.115188946405936) 
à l (-0.0936395578796088) 
c est (0.130628584805583) 

我想根據值從高到低的順序進行排序,將這些句子括號 我這樣做COMMANDE:

sort 2fr -t"(" -k2r > 2frsort 

但它無法正確做那種 任何想法嗎? 感謝

回答

0

您可以在第二列中使用數字排序:

$ sort --numeric-sort --field-separator '(' --reverse --key 2 test.dat 
c est (0.130628584805583) 
la commission (0.0922090559997898) 
à l (-0.0936395578796088) 
à la (-0.115188946405936) 
de l (-0.137148984295644) 
de la (-0.167969404167593) 
+0

但我想它降序 – user17241

+0

@ user17241排序,只需添加'--reverse' - 看到我的編輯,也。 – miku

+0

好吧,這個命令**排序2fr -k2n,2 -t「(」-k2r> 2frsort **沒有給出正確答案 – user17241

0

是否使用GNU sort?如果是這樣,-g選項處理指數表示

sort -t '(' -k 2 -g -r