3

Есть ли способ найти все строки с помощью grep, которые содержат как минимум x слов?

2 ответа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}'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .