If statement 删除包含3个以上空格的行

If statement 删除包含3个以上空格的行,if-statement,awk,line,If Statement,Awk,Line,我在表单中有一个文本文件 sadsadsad sadsadsadd sadasdsadad 第二列的中间部分有一个加法空间,如 sadsadsad sads adsadd sadasdsadad 如果某一行上有两个以上的空格,我可以使用awk查看文件并删除该行吗?可能有一个正则表达式,您可以创建一个正则表达式来与sed或awk匹配。。。但这是有效的 awk '{if ($4 == "") print}' input_file 另一种选择是使用NF变量 awk '{if (NF < 4

我在表单中有一个文本文件

sadsadsad sadsadsadd sadasdsadad

第二列的中间部分有一个加法空间,如

sadsadsad sads adsadd sadasdsadad

如果某一行上有两个以上的空格,我可以使用awk查看文件并删除该行吗?

可能有一个正则表达式,您可以创建一个正则表达式来与sed或awk匹配。。。但这是有效的

awk '{if ($4 == "") print}' input_file
另一种选择是使用NF变量

awk '{if (NF < 4) print}' input_file

可能有一个正则表达式,你可以创建一个与sed或awk匹配的正则表达式。。。但这是有效的

awk '{if ($4 == "") print}' input_file
另一种选择是使用NF变量

awk '{if (NF < 4) print}' input_file
您不需要awk,简单的sed即可:

如果您特别想要awk,您可以这样做:

!/ .* .* / {
    print;
}
您还可以通过在这两种情况下使用/[^]+[^]+/,对regexp进行更精确的自定义。甚至,正如jkerian在另一个答案中提出的那样,只需使用NF即可。

您不需要awk,简单的sed即可:

如果您特别想要awk,您可以这样做:

!/ .* .* / {
    print;
}
您还可以通过在这两种情况下使用/[^]+[^]+/,对regexp进行更精确的自定义。甚至,正如jkerian在另一个答案中所建议的,只需使用NF.

甚至awk'NF<4'输入文件,甚至awk'NF<4'输入文件