Estou tentando ver um arquivo de log usando cauda -f
e desejo excluir todas as linhas que contêm as seguintes strings:
"Nopaging the limit is"` and `"keyword to remove is"
Posso excluir uma string como esta:
tail -f admin.log|grep -v "Nopaging the limit is"
Mas como excluo linhas contendo string1
ou string2
.
grep -v -e def -e jkl
método que IMHO é mais claro…grep -Fv -e def -e jkl
que é ainda mais rápido!grep -vF $(pgrep myprocess)
-F
correspondências por strings literais (em vez de regex)-v
inverte o jogo-e
permite vários padrões de pesquisa (todos literais e invertidos)fonte
grep -v
instâncias e o requisito artificial de uma regex (permite que várias strings sejam especificadas de forma limpa em argumentos separados). Imagine construir essa regex programaticamente em um script para strings que podem conter qualquer coisa ...Outra opção é criar uma lista de exclusões, isto é especialmente útil quando você tem uma longa lista de itens a serem excluídos.
Agora adicione o que você gostaria de excluir
Agora use grep para remover linhas de seu arquivo de log de arquivo e ver as informações não excluídas.
fonte
-v
com-f
(ou que este último sequer existisse).grep -v -f <(gen_exclusions.sh) /var/log/admin.log
fonte
fonte
Você pode usar o grep regular como este:
tail -f admin.log | grep -v "Nopaging the limit is\|keyword to remove is"
fonte
Os greps podem ser encadeados. Por exemplo:
fonte