Соответствие последовательному порядку

Мне нужно сопоставить несколько строк в файле с помощью команды grep , следуя команде, которую я использую:

 grep -e 'str1' -e 'str2' file.log 

Мне нужны все строки, содержащие str1 и str2 но в том же порядке, что и в файле.

Значит ли grep что совпадающий порядок будет таким же, как порядок появления строки в файле? или он может перетасовать порядок сопоставления [может случиться, если он использует несколько потоков]

One Solution collect form web for “Соответствие последовательному порядку”

grep обрабатывает входные файлы как потоки (и привязан к IO); выходные линии всегда находятся в том же порядке, что и входные строки, независимо от того, сколько шаблонов предусмотрено.

Не обязательно оценивать сами шаблоны в каком-либо конкретном порядке, что может быть источником вашей путаницы, но оно всегда работает по линии.

  • Использование grep для нахождения строки из текстового файла
  • Как найти файлы, их имена, имена файлов находятся в одном файле?
  • предложение regex
  • grep только подкаталоги, соответствующие шаблону
  • Решение регулярного выражения grep (жадно не работает)
  • Команда grep для извлечения только определенного слова
  • Поиск слова в файлах на выходе
  • Сопоставление двух разных линий, расположенных по крайней мере на N прямых друг от друга
  • Анализ HTTP-ответа с помощью оболочки
  • Grep: поиск и замена полной строки
  • Как объединить grep с файлом и дополнительным регулярным выражением
  • Linux и Unix - лучшая ОС в мире.