Поиск с помощью grep для двух выражений сразу Это базовое, но я не могу это сделать. Могу ли я использовать для invocation grep делать grep expr1 | grep expr2 чтобы он печатал строки, включая выражения expr1 и expr2? Ответ 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
Ответ 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