删除文本文件中少于 3 个单词的行

Pot*_*der 2 unix linux bash awk sed

我见过一些命令,例如使用 sed 根据字符数而不是单词来删除行。

例如。我有一个文本文件,例如

word1
word1 word2
word1 word2 word3
word1 word2 word3 word4
word1 word2 word4 word5
Run Code Online (Sandbox Code Playgroud)

我将如何使用(sed 或 awk)删除少于 3 个单词的行,以便输出如下所示:

word1 word2 word3
word1 word2 word3 word4
word1 word2 word4 word5
Run Code Online (Sandbox Code Playgroud)

Avi*_*Raj 6

你可以简单地在 awk 中做到这一点,

$ awk 'NF>=3' file
word1 word2 word3
word1 word2 word3 word4
word1 word2 word4 word5
Run Code Online (Sandbox Code Playgroud)

它打印具有三个或更多字段的行。