根据每行中的字段数排序行

时间:2013-08-17 06:55:35

标签: sorting awk

我有一个文件,每行有多个字段。如何根据每行中的字段数对此文件进行排序? 例如:

1 3 4 6
3 4
4 5 6 7 8
5 6
6 8 7 4 6 7 

如何使用awk和/或sort的组合来获取以下格式的文件?即按照每行中的字段数排序,以递减方式排序。

6 8 7 4 6 7 
4 5 6 7 8
1 3 4 6
3 4
5 6

请帮忙。

1 个答案:

答案 0 :(得分:1)

这是一种方法:

awk '{print NF, $0}' file | sort -rn | cut -d' ' -f 2-

awk命令在行之前添加字段数,然后sort命令按降序排序,cut命令删除字段数