Насколько я понимаю, вам нужно напечатать строки, соответствующие шаблону, в диапазоне первых 5 символов, но только если символ 6 th равен A
. Это можно сделать в два этапа:
- отфильтровать строки с символом 6 th , равным
A
, и одновременно захватить первые 5 символов; - напечатайте строку, если захваченная последовательность соответствует вашему шаблону.
Ниже приведен пример реализации вышеуказанного в Perl:
perl -l -n -e 'print if /^(.{5})A/ and $1 =~ /ove/' input-file.txt
* Код 1028 * печатает следующую строку, прочитанную из файла (неявный аргумент $_
), если строка соответствует /^(.{5})A/
. В результате захвата , $1
(первая и единственная группа захвата) содержит первые пять символов. Затем, если $1
соответствует /ove/
(образец шаблона, который вы бы изменили), второе условие if
истинно, и строка выводится на стандартный вывод.