Parece que você está usando gnu sed
- nesse caso, você pode fazer algo como
sed -s 'N;/PATTERN/!P;D' ./*.txt
Com outros sed
s você teria que percorrer a lista de arquivos
for file in ./*.txt
do
sed '$!N;/PATTERN/!P;D' "$file"
done
Isso sempre manterá duas linhas no espaço padrão e imprimirá a primeira se o espaço padrão não corresponder a uma entrada como
some line
PATTERN
PATTERN
more
lines
another line
PATTERN
imprimirá
more
lines