2012-11-16 111 views
1

我有文本文件,由5列組成,我想根據文件的第四列對每行進行排序,任何想法?如何基於文件的一列對bash中的文件進行排序

我在下面放了一些文件,使其更加清晰。

0 27000000 spk1 -5865.438965 
0 27000000 spk10 -6069.150879 
0 27000000 spk6 -6070.252930 
0 27000000 spk17 -6211.137695 
0 27000000 spk12 -6256.836426 
0 27000000 spk7 -6259.441895 
0 27000000 spk16 -6307.564453 
+1

你提到的5列,但只有4你的榜樣輸入顯示? –

+0

您是否閱讀過'sort'的手冊頁? – chepner

回答

4

是這樣的?

$ sort -n -t ' ' -k 4 test.txt 
0 27000000 spk16 -6307.564453 
0 27000000 spk7 -6259.441895 
0 27000000 spk12 -6256.836426 
0 27000000 spk17 -6211.137695 
0 27000000 spk6 -6070.252930 
0 27000000 spk10 -6069.150879 
0 27000000 spk1 -5865.438965 
1

你可以使用sort命令,並定義字段進行排序就可以了基礎和字段分隔像下面

sort -t" " -k4 filename 
相關問題