Digamos que eu tenha esse arquivo de linha 857835, contendo coisas como esta:
a1
rubbish1
rubbish2
rubbish3
rubbish4
a1
rubbish5
rubbish6
rubbish7
rubbish8
E eu desejo remover todas as ocorrências a1
e a próxima linha ( rubbish1
e rubbish5
neste exemplo). Como eu faço isso?
Eu tentei grep 'a1' -v -A1
sem sucesso e meu sed skillz não é realmente ótimo:}
Meu Google-fu não conseguiu me ajudar dessa vez, alguém por favor ajude!
grep
text-processing
sed
rayfoo
fonte
fonte
^
e$
nessa partida, para forçar correspondentes linhas inteiras.O seguinte funcionará em não-GNU
sed
(a,+1
sintaxe do endereço é uma extensão GNU):"Começando em uma linha que lê exatamente 'a1' e terminando na próxima linha para a qual existe o início da linha (ou seja, a próxima linha), exclua".
É muito menos extensível do que a resposta de @ asoundmove, pois a exclusão de um número diferente de linhas exigiria um script totalmente diferente.
fonte