Recuperando endereço de email de um arquivo de log

1

Eu tenho um arquivo de log que contém muito texto, conforme mostrado abaixo. Gostaria de extrair o endereço de e-mail que se encontra entre as strings emailAddress e status . Estou aberto a qualquer opção que rode no Ubuntu, mas gostaria de automatizá-lo.

bouncedRecipients\":[{\"emailAddress\":\"[email protected]\",\"status

    
por Praveen Sripati 30.11.2012 / 14:05

1 resposta

1

Aqui você vai:

perl -ne 'if(/emailAddress..:..(.+?)\\"/){print "$1\n"}' logfile.txt

Este snippet Perl irá percorrer o arquivo linha por linha e procurar pela string "emailAddress" seguido por:

  • quaisquer dois caracteres ( .. ), isso corresponderá a \" ,
  • : ,
  • quaisquer dois caracteres ( .. ), isso corresponderá a \" .

Em seguida, salva os seguintes caracteres (até o próximo " ) em $1 . Finalmente, imprime $1 .

NOTA: Isso pressupõe que todos os endereços de e-mail do seu arquivo de registro tenham o mesmo formato do que você forneceu na sua pergunta.

    
por 30.11.2012 / 14:24