Подтвердить что ты не робот

Поиск с помощью grep для двух выражений сразу

Это базовое, но я не могу это сделать. Могу ли я использовать для invocation grep делать

grep expr1 | grep expr2

чтобы он печатал строки, включая выражения expr1 и expr2?

4b9b3361

Ответ 1

Попробуйте следующее:

grep 'expr1.*expr2\|expr2.*expr1'

Это немного сложнее, чем нужно, если вы знаете, что "expr2" всегда будет после "expr1". В этом случае вы можете упростить его:

grep 'expr1.*expr2'

Ответ 2

Вы можете предоставить несколько выражений для поиска с несколькими флагами -e, см. этот пост.

то есть.

grep -e expr1 -e expr2

Ответ 3

Что вы должны работать.

Ниже приведен альтернативный способ достижения такого же эффекта:

grep -E 'expr1.*expr2|expr2.*expr1'

Ответ 4

На самом деле ваше собственное предложение почти правильно, если вы хотите получить строки, содержащие оба выражения. Использование:

grep expr1 somefile | grep expr2