Контекст соответствующего регулярного выражения

Я использую egrep с опцией -o , чтобы просто получить соответствующую часть строки, например

 cat /usr/share/dict/words | egrep -o '(aa|ii)' 

Теперь я хотел бы увидеть некоторый контекст матча, т. Е. Несколько символов слева и справа. Один из способов добиться этого –

 cat /usr/share/dict/words | egrep -o '.{3}(aa|ii).{2}' 

Есть ли лучший (более эффективный и элегантный) способ? (Я egrep опциями командной строки egrep , но не нашел их для этой цели.)

One Solution collect form web for “Контекст соответствующего регулярного выражения”

Вы могли бы сделать что-то вроде:

 $ echo 'aabiicaa' | perl -lne ' while (/aa|ii/g) {print substr($`,-3)."[$&]".substr($'\'',0,2)}' [aa]bi aab[ii]ca iic[aa] 
  • Фильтрация результатов grep с помощью путей, содержащих папку1 / folder2, и обрезание текущего пути папки из набора результатов
  • используйте find и grep, чтобы найти строки, содержащие некоторую строку и не содержащие другую строку из файлов
  • Захват вывода curl после строки в файл
  • Подсчет экземпляров конкретных слов в тексте, используя awk
  • Grep для линейных совпадений, начинающихся с X и содержащих точное слово (точное слово переносится)
  • Как я могу перечислить каждый файл в каталоге, кроме тех, у которых указаны указанные расширения?
  • Найдите каждую строку, соответствующую шаблону, но напечатайте только строку над ней
  • команда egrep, которая показывает всех авторов и субъектов почты, содержащихся в каталоге
  • Как оптимизировать «grep'-and-save»?
  • Как «grep» строка возвращаемого результата
  • как выбрать файлы в каталоге с булевым оператором AND
  • оценивать несколько шаблонов из вывода программы и записывать в определенные шаблоны файлы
  • Interesting Posts

    Установите интервал опроса wi-fi на Linux, возможно ли это?

    Для чего используется команда mknod?

    OpenSSH: Предотвращение всплытия на SSH_ORIGINAL_COMMAND

    Как запустить два параллельных окна с гном-терминалом?

    Создайте пары ключей ssh ​​для копирования в другом месте, не испортив мою личную настройку ssh

    Сортировка с командой ls в unix (ksh)

    команда sed оставить два десятичных знака и удалить остальные после запятой

    Будет ли $ 0 всегда включать путь к скрипту?

    Как я могу сделать https://code.google.com/p/bluez-tools/ без ошибок справки в Linux Mint 15?

    Является ли pvcreate разрушительным? Попытка восстановить группу томов lvm2

    Сценарий оболочки не работает через работу cron

    Мне нужно установить драйвер ethernet во время установки арки

    Попытка сохранить вывод команды файла в переменную, но на выходе указано «нет такого файла существует»?

    Обнаружение подключенных мониторов, когда X не работает

    Как окончательно отключить запрос root-password для режима восстановления, RHEL6

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