Есть ли способ найти все строки с помощью grep, которые содержат как минимум x слов?
2 ответа
6
Итак, если слова разделены пробелами, чтобы найти строки с> = 5 словами, сделайте это:
$ grep -P '\w+\s+\w+\s+\w+\s+\w+\s+\w+'
Grep не лучший инструмент для этой работы, попробуйте gawk:
$ gawk 'NF>4'
NF-переменная Gawk содержит количество полей, по умолчанию поля определяются пробелами, поэтому в текстовой строке каждое поле является словом. Команда выше напечатает все строки, содержащие более 4 слов.
2
Замените число "3", если хотите, чтобы строки> = отличались от других.
grep -E '^(\w+\b.){3}'