
Tengo un archivo de registro que produce resultados como:
[+] [1.1.1.1] LOG HERE
Me gustaría saber cómo puedo extraer la IP del registro para enviarla a un archivo "limpio", que solo enumere la IP.
Respuesta1
awk
Probado en , GNU Awk 4.1.3
no estoy seguro si no funcionará con otras versiones
$ cat ip.txt
[+] [1.1.1.1] LOG HERE
$ awk -F'[][]' '{print $4}' ip.txt
1.1.1.1
-F'[][]'
establecer el separador de campo de entrada como[
o]
{print $4}
imprimir el cuarto campo
Con sed
, asumiendo que el archivo de entrada tiene un patrón consistente como se muestra en el ejemplo
$ sed 's/.*\[//; s/].*//' ip.txt
1.1.1.1
s/.*\[//
eliminar desde el inicio de la línea hasta el último[
en la líneas/].*//
de la línea modificada, elimine todo desde el principio]
hasta el final de la línea