grep
approach
Para criar uma cópia do arquivo sem linhas correspondentes a "cat" ou "rat", pode-se usar grep
no reverso ( -v
) e com a opção de palavra inteira ( -w
).
grep -vwE "(cat|rat)" sourcefile > destinationfile
A opção de palavra inteira garante que ela não corresponda a cats
ou grateful
, por exemplo. O redirecionamento de saída do seu shell é usado ( >
) para gravar em um novo arquivo. Precisamos da opção -E
para ativar as expressões regulares estendidas para a sintaxe (one|other)
.
sed
approach
Como alternativa, para remover as linhas no local, pode-se usar sed -i
:
sed -i "/\b\(cat\|rat\)\b/d" filename
O \b
define limites de palavras e a operação d
exclui a linha que corresponde à expressão entre as barras. cat
e rat
estão sendo correspondidos pela sintaxe (one|other)
que aparentemente precisamos escapar com barras invertidas.
Dica: use sed
sem o operador -i
para testar a saída do comando antes de sobrescrever o arquivo.
(Baseado em Sed - Excluir uma linha contendo uma string específica )