如何根据文件的一列在bash中对文件进行排序

时间:2012-11-16 13:58:14

标签: bash sorting

我有文本文件,由5列组成,我想根据文件的第四列对每一行进行排序,任何想法?

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

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

您可以使用sort命令并定义字段以对其进行排序,并按字段分隔符进行排序,如下所示

sort -t" " -k4 filename