Com o GNU sed :
sed '0,/^AAA$/b;//d'
Ou seja, deixe tudo ( b se ramificar como continue ) até o primeiro AAA (da 0ª linha (antes mesmo da primeira linha) e a primeira correspondendo /^AAA$/ (que pode ser a primeira linha)) e, em seguida, para as linhas restantes, exclua todas as ocorrências de AAA (um padrão // vazio reutiliza o último padrão).
O sed do GNU é necessário para o endereço 0 (e a capacidade de ter outros comandos após o b na mesma expressão, embora isso possa ser facilmente contornado em outras implementações usando dois -e expressões)
com awk :
awk '$0 != "AAA" || !n++'
(ou para um padrão de expressão regular: awk '!/^AAA$/ || !n++' )
uma abreviação de:
awk '! (&0 == "AAA" && count > 0) {print; count++}'