Как запустить несколько команд AND в команде grep

Я пытаюсь запустить несколько команд И в команде grep, я смог запустить с использованием двух шаблонов:

grep -E 'pattern1.*pattern2' filename

Можно ли использовать три или четыре шаблона с использованием вышеуказанного метода?

  • Как удалить все комментарии из файла?
  • Как найти скрытую строку в нескольких каталогах
  • Есть ли архив старых страниц? специально для функций, доступных для grep в раннем 'ed'
  • Почему perl regex находит шаблон \\ label \ {. *? \}, Но не \\ ref. *? \} Или \\ autoref \ {. *? \} В файлах TeX?
  • Grep и отсортировать несколько несортированных вещей в нескольких строках (в одном документе)
  • Как фильтровать все файлы типа, содержащие шаблон
  • Добавление слова в конце строки с sed
  • Как найти / grep, что находится между строкой1 и строкой2?
  • 2 Solutions collect form web for “Как запустить несколько команд AND в команде grep”

    Если порядок шаблонов исправлен, вы можете легко использовать grep как в:

     grep -E 'pattern1.*pattern2.*pattern3' 

    Но в случае, если все шаблоны должны присутствовать, и они могут появляться в любом порядке, тогда вы получаете комбинаторную сложность; например, для двух шаблонов:

     grep -E '(pattern1.*pattern2|pattern2.*pattern1)' 

    (и для трех моделей у вас будет уже восемь комбинаций).

    В таких случаях (т. grep При использовании grep ) лучше каскадировать вызовы в конвейере одного экземпляра grep каждого шаблона:

     grep pattern1 <infile | grep pattern2 | grep pattern3 

    Каждый экземпляр будет фильтровать только строки, соответствующие их шаблону, и общий результат будет содержать только строки, которые имеют все шаблоны.

    Лучший подход, который приводит к самому четкому решению, – использовать awk :

     awk '/pattern1/ && /pattern2/ && /pattern3/' 

    где упорядочение не имеет значения в таком выражении.

    Да. Вы можете построить любое регулярное выражение, которое хотите, и использовать его в качестве шаблона в команде grep . Это просто должно быть законным регулярным выражением.

    Interesting Posts

    Почему iotop не показывает то же, что и iostat? Почему существует разница?

    Как установить php5-curl на Ubuntu 12.04 LTS (GNU / Linux 3.2.0-24-generic x86_64)

    Могу ли я определить свою оперативную память без отключения Linux?

    Измените известные слова 1 и 3 строки, сохраняя неизменное слово 2 постоянным

    Uptime и кто -b показывают разные времена, когда система загружалась последним в Linux

    Может ли определяемое пользователем свойство «destroy-after» установить на снимке ZFS?

    Как использовать быстрые клавиши для запуска n-го элемента в диспетчере задач в KDE?

    заменить запятую на определенное значение столбца

    запуск команд из файлов

    Есть ли разница между обновлением терминала и обновлением программного центра в Fedora?

    Сделать sudo запрос пароля

    Вспышка работает в Chromium и FF сразу, почему нет звука во втором браузере?

    Без потерь конвертация MPEG ADTS MP3 в обычный MP3

    Файловая система: как найти блок файла, представленный inode?

    Печать печати только одной строкой

    Linux и Unix - лучшая ОС в мире.