我有一个
形式的文本文件sadsadsad sadsadsadd sadasdsadad
其中的一些行在第二列的中间包含一个附加空格,例如
sadsadsad sads adsadd sadasdsadad
如果特定行上有超过2个空格,我可以使用awk查看文件并删除该行吗?
答案 0 :(得分:3)
您不需要awk
,简单sed
即可:
sed -e '/ .* .* /d'
如果你特别想要awk
,你可以这样做:
!/ .* .* / {
print;
}
您也可以自定义正则表达式,可以在/ [^ ]+ [^ ]+ /
两种情况下使用。或者,正如jkerian在另一个答案中提出的那样,只需使用NF
。
答案 1 :(得分:1)
你可以创建一个正则表达式,用sed或awk进行正则表达式匹配...但是这可行
awk '{if ($4 == "") print}' input_file
另一种选择是使用NF变量
awk '{if (NF < 4) print}' input_file