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

0

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

[+] [1.1.1.1] LOG HERE

Eu gostaria de saber como posso extrair o IP do log para enviar para um arquivo "limpo", que lista apenas o IP.

    
por t988GF 28.04.2017 / 10:55

1 resposta

3

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 o separador do campo de entrada como [ ou ]
  • {print $4} imprime o quarto campo


Com sed , supondo que o arquivo de entrada tenha um padrão consistente, como mostrado na amostra

$ sed 's/.*\[//; s/].*//' ip.txt 
1.1.1.1
  • s/.*\[// excluir do início da linha até o último [ na linha
  • s/].*// da linha modificada, exclua tudo do primeiro ] ao final da linha
por 28.04.2017 / 12:02