Не используйте /s
, чтобы можно было сопоставить строки. Кроме того, добавьте ^
и $
с /m
, чтобы соответствовать началу и концу строки:
perl -0777 -ne 'print "$1\n" while /^(a.*a)\n(a.*a)$/mg'
Или обрабатывайте построчно, запоминая предыдущую строку, если она совпадает.
perl -lne '($q) = /^(a.*a)$/; print $p if $p && $q; $p = $q'
Обратите внимание, что эти два решения различаются тем, как они обрабатывают более двух a.*a
строк, идущих последовательно. См. Комментарий ikegami для альтернативного решения.