有没有办法让awk返回符合字段分隔符条件的字段数?说,例如,我的文件包含awk返回的字段数
a b c d
所以,awk --field-separator=" " | <something>
应该返回4
有没有办法让awk返回符合字段分隔符条件的字段数?说,例如,我的文件包含awk返回的字段数
a b c d
所以,awk --field-separator=" " | <something>
应该返回4
的NF
变量设置为输入记录中的字段总数。所以:
echo "a b c d" | awk --field-separator=" " "{ print NF }"
将显示
4
但是请注意,是:
echo -e "a b c d\na b" | awk --field-separator=" " "{ print NF }"
显示:
4 2
希望这有助于和快乐awking
NF
给出给定记录的字段数:
[]$ echo "a b c d" | gawk '{print NF}'
4
如果你想知道多行内容的字段集合所有的数字,你可以运行:
X | awk '{print NF}' | sort -n | uniq
是X
,在标准输出输出内容的命令:cat
,echo
等。例如:
随着file.txt的:
a b
b c
c d
e t a
e u
命令cat file.txt | awk '{print NF}' | sort -n | uniq
将打印:
2
3
而且随着FILE2.TXT:
a b
b c
c d
e u
命令cat file2.txt | awk '{print NF}' | sort -n | uniq
会打印:
2