Isso é muito trivial com os utilitários de processamento de texto. Por exemplo, usando sed
:
sed '1,/pattern/!d' file
Ou seja, corresponde cada linha do primeiro ao com pattern
e exclui todas as linhas não correspondentes. Então, substitua pattern
pelo seu padrão. Se contiver /
, você precisa escapar desses caracteres. Por exemplo, se o padrão for pattern-with/character
:
sed '1,/pattern-with\/character/!d' file
Para realmente editar os arquivos (em vez de imprimir o fluxo editado para stdout), você pode usar o sinalizador -i
:
sed -i '1,/pattern/!d' file
Você pode fazer um backup do arquivo original adicionando uma extensão para o arquivo antigo em -i
. Tome cuidado aqui - você não deve incluir um espaço antes da extensão.
sed -i.backup '1,/pattern/!d' file
sed
aceita vários argumentos de nome de arquivo. Por exemplo, para atuar em todos os arquivos não ocultos no diretório atual, você pode usar:
sed -i '1,/pattern/!d' *