Usando o GNU sed :
$ sed '/AA/,+2d' <file
SomeTestABCD
String
EndTest
SomeTestDEFG
String
EndTest
SomeTestACDF
String
EndTest
O script GNU sed localiza linhas que contêm a string AA e, em seguida, exclui essa linha e as duas linhas seguintes da entrada. O endereçamento relativo +2 é uma extensão sed do GNU para o padrão sed .
Usando o padrão sed , excluindo duas linhas:
sed -n '/AA/{n;n;d;}; p' <file
Isso usa sed sem gerar implicitamente todas as linhas de entrada (com -n ). Quando o padrão AA é correspondido, as próximas duas linhas são explicitamente lidas e excluídas. Todas as linhas que não acionam o padrão serão impressas.
Com o padrão sed , excluindo a linha EndTest :
sed '/AA/,/^EndTest$/d' <file
Isso exclui todas as linhas das linhas que contêm a string AA para a linha imediatamente seguinte que corresponde ao padrão ^EndTest$ .
Usando awk para ignorar duas linhas depois de corresponder a AA :
awk '/AA/ { getline; getline; next } 1' <file
Usando awk da mesma forma que a última sed variação:
awk '/AA/,/^EndTest$/ { next } 1' <file