我有一个文件,每行有多个字段。如何根据每行中的字段数对此文件进行排序? 例如:
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
请帮忙。
答案 0 :(得分:1)
这是一种方法:
awk '{print NF, $0}' file | sort -rn | cut -d' ' -f 2-
awk命令在行之前添加字段数,然后sort命令按降序排序,cut命令删除字段数