sed -ne '/^These/{n;w tempfile
d;};p' < oldfile > newfile
echo "These switches don't have latest images :" >> newfile
cat tempfile >> newfile
Pode-se usar o espaço de espera em vez de um arquivo temporário:
sed -ne '/^These/{n;H;d;};p;${x;s/^/These switches don'"'"'t have latest images :/;p;}' < oldfile > newfile
Isso falhará, no entanto, se o arquivo terminar com um dos blocos "These switches", em vez de "SOME MAIS DADOS". O motivo é que o último comando ${x;....p;}
é executado apenas se a última linha não tiver sido excluída antes por um
d
comando. Se você quiser evitar arquivos temporários, provavelmente é melhor usar perl ou python. É certamente mais legível.