Ищем две строки в одной строке файла
Попробуйте такой синтаксис, чтобы найти строки, где есть оба искомых фрагмента:
grep "string1" /path/to/file |grep "string2"
Например, это может выглядеть так:
grep "error" /var/log/messages |grep "critical"
Ищем две строки в любом месте файла или вывода команды
Другая частая задача — найти строки, где встречается хотя бы один из двух паттернов, в любом месте файла или вывода другой команды. Тут поможет флаг -e:
grep -e String1 -e String2
Допустим, в выводе команды ioreg мы хотим увидеть строки с “CurrentCapacity” или “MaxCapacity”. Делаем так:
ioreg -l| grep -e CurrentCapacity -e MaxCapacity
Командная строка, конечно, для продвинутых, но grep — команда довольно дружелюбная. Если вы только начинаете, с нее можно смело стартовать.
Кстати, не забывайте, что grep умеет и исключать строки из вывода — это помогает точнее настраивать поиск.
Если у вас есть свои способы искать несколько строк в файле или выводе — делитесь в комментариях!