我想通过NF增加对数据文件行进行排序。
输入
z a b c d k l p m
m x y h j i
y w
g t y u
输出
y w
g t y u
m x y h j i
z a b c d k l p m
我曾尝试过sort命令,但没有用。 如何? 谢谢你的帮助。
答案 0 :(得分:1)
通常,您可以通过修改输入流来添加一些数据,对该数据进行操作,然后将其删除来解决这些类型的问题。在这种情况下,我们要将字段计数添加到输入流,对字段计数进行排序(数字),然后将其删除(使用空格作为字段分隔符):
awk '{ print NF, $0 }' | sort -n | cut -d' ' -f2-
您可以将数据传输到awk
或将文件名作为另一个参数传递给awk
。