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

标签 linux bash unix awk sed

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

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

word1
word1 word2
word1 word2 word3
word1 word2 word3 word4
word1 word2 word4 word5

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

word1 word2 word3
word1 word2 word3 word4
word1 word2 word4 word5

最佳答案

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

$ awk 'NF>=3' file
word1 word2 word3
word1 word2 word3 word4
word1 word2 word4 word5

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

关于linux - 删除文本文件中少于 3 个单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25883094/

相关文章:

bash - 转换行结尾

bash - 使用带参数的 xinit 启动程序

shell - grep 在目录中,并为 Unix Shell 脚本中的每个文件仅返回 1 个结果

linux - 根据换行符将命令输出行存储到数组中

c++ - 将参数传递到 C++ 共享库

python - 创建 Python 电子邮件(接收)服务器

ruby-on-rails - Passenger + Capistrano + Apache = Rails 应用程序未运行

linux - 无法运行使用 'mkbundle' 命令构建的 bundle

bash - 检查命令响应是否不包含 str

linux - 使用 `sh` 和 `source` 有什么区别?