您需要使用NF
(字段数)变量来控制操作,例如以下记录:
$ echo '0333 foo
> bar
> 23243 qux' | awk 'NF==2{print}{}'
0333 foo
23243 qux
如果字段数为2,将打印该行,否则将不执行任何操作。我之所以具有(看似)奇怪的构造,NF==2{print}{}
是因为awk
如果没有任何规则匹配一行,则默认情况下将打印的某些实现。empty命令{}
保证不会发生这种情况。
如果您很幸运地拥有其中一个不做此事的人,则可以摆脱:
awk 'NF==2'
但以上第一种解决方案在 两种 情况下 均 适用。