conteúdo de saída na segunda ocorrência

conteúdo de saída na segunda ocorrência

Eu tenho um arquivo de log que está produzindo uma saída como:

[+] [1.1.1.1] LOG HERE

Gostaria de saber como posso extrair o IP do log para enviar para um arquivo "limpo", que liste apenas o IP.

Responder1

Com awk, testado em GNU Awk 4.1.3, não tenho certeza se não funcionará com outras versões

$ cat ip.txt 
[+] [1.1.1.1] LOG HERE

$ awk -F'[][]' '{print $4}' ip.txt 
1.1.1.1
  • -F'[][]'definir separador de campo de entrada como [ou]
  • {print $4}imprima o 4º campo


Com sed, assumindo que o arquivo de entrada tem um padrão consistente, como mostrado no exemplo

$ sed 's/.*\[//; s/].*//' ip.txt 
1.1.1.1
  • s/.*\[//excluir do início da linha até o último [da linha
  • s/].*//da linha tão modificada, exclua tudo do primeiro ]ao fim da linha

informação relacionada