Você pode usar pcregrep
, se disponível, com a opção -l
, para listar apenas os nomes dos arquivos correspondentes:
pcregrep -lM '(?s)advanced_override\.begin.*PREFETCH.*advanced_override\.end' ./*
Isso pesquisa no modo de múltiplas linhas para essas duas seqüências com PREFETCH
entre elas. Ele supõe que haja apenas arquivos de texto no diretório atual (se esse não for o caso, você pode usar um for
loop ou find
) e também que cada arquivo contém uma única seção que começa com advanced_override.begin
e termina com advanced_override.end
- com várias seções, pode ser melhor usar uma visão antecipada negativa antes de PREFETCH
, por exemplo:
pcregrep -lM '(?s)advanced_override\.begin(?:(?!advanced_override\.end).)*PREFETCH.*advanced_override\.end' ./*