grep "mail\.addres@example\.org" filename.log
imprimirá todas as linhas contendo [email protected]
Estou tentando extrair todas as linhas de texto do arquivo de log de mensagens que contenham uma string específica (endereço de email). Eu sei que usar grep
permitirá que eu procure o endereço [email protected]
, mas como faço para imprimir toda a linha que contém [email protected]
? Dessa forma, eu poderia facilmente vasculhar vastas quantidades de arquivos de log para obter informações precisas sobre os campos from
e to
para descobrir com quem o [email protected]
tem interações.
Obrigado antecipadamente.
grep "mail\.addres@example\.org" filename.log
imprimirá todas as linhas contendo [email protected]
Resposta simples, usando awk
awk '/mail\.addres@example\.org/' file.log
Claramente, muito tarde para a festa aqui, soa semelhante ao que eu tenho aprendido. Eu uso o sudo porque eu não acesso as coisas como root, mas essa é uma preferência pessoal, eu acho:
sudo grep "[email protected]" /path/to/file/mail.log
A saída sendo rebocada no terminal (não ideal). Eu encontrei no entanto que usando redirecionamento >
:
> test.txt
Foi uma boa ideia. Rende o resultado com o comando, ignora a saída para a janela do terminal e a coloca diretamente em um arquivo para eu abrir com o notepad ++ mais tarde. Algo que eu encontrei durante o meu aprendizado foi a diferença entre um e dois colchetes que foi muito útil:
> # Overwrites destination file with current output
>> # Adds current output to tail of file
Muito útil quando não quero continuar criando novos arquivos para cada pesquisa que eu faço.