Abuso mal-intencionado do grep ahoy. Meu script original baseou-se no fato de que o grep faz distinção entre maiúsculas e minúsculas e que seu texto é estranhamente encapsulado, e esses casos são exclusivos. Eu fiz uma segunda variante (você pode ver a antiga na trilha de edição), que usa um pedaço maior das linhas que você precisa reorganizar. Fazê-lo 'corretamente' provavelmente acabaria sendo mais rápido, já que ele é executado em todo o seu arquivo de texto para cada comando grep - para um arquivo grande, isso significa 6 ciclos para reorganizá-lo.
Isso deve funcionar com alguns pequenos mods no windows ou linux, ou simplesmente copiar colado. Isso pressupõe que seu arquivo de origem é chamado original.txt e sua saída é new.txt. Você provavelmente poderia classificar as linhas grep-out se precisar delas em ordem alfabética. > > acrescenta a uma nova linha
#! /bin/sh
grep "Completed Backups" original.txt >> new.txt
grep "backup was successful" original.txt >> new.txt
grep "Backups with Warnings" original.txt >> new.txt
grep "backup was completed with warnings" original.txt >> new.txt
grep "Failed Backups" original.txt >> new.txt
grep "backup failed" original.txt >> new.txt
Eu provavelmente esperaria pela resposta correta do sed ou do awk se eu fosse você. Eu também experimentaria subconjuntos maiores de suas strings