uso sromero separador programacion numero mayor filtrar eliminar columnas caracteres básico awk sed grep

awk - sromero - Extraer datos entre dos etiquetas



programacion awk (2)

Estabas muy cerca:

sed -n ''s/^.*<a.href="[^"]*">/([^<]*/)<//a>/([^<]*/).*//1/2/p'' file

Todo lo que se necesitaba era un 2 ° grupo de captura: <//a> después de que el 1 ° coincidiera con la etiqueta de cierre para <a> , y el 2 ° grupo de captura, /([^<]*/) , luego captura todo pero sin incluir la etiqueta de cierre </span> .
/1/2 en la cadena de reemplazo simplemente concatena lo que coinciden los dos grupos de captura, lo que arroja 42.224.0.0/12 con la entrada de muestra.

Después de buscar y leer extensamente, logré hacer la mitad del trabajo.

Aquí está la cadena:

<td class=''bold vmiddle''> Owner CIDR: </td><td><span class=''jtruncate-text''><a href="http://3.abcdef.com/ip-3/encoded/czovL215aXAubXMvdmlldy9pcF9hZGRyZXNzZXMvNDIuMjI0LjAuMA%3D%3D">42.224.0.0</a>/12</span></td>

Necesito extraer el 42.224.0.0 y /12 para hacer un 42.224.0.0/12 .

Ahora logré obtener 42.224.0.0 usando:

sed -n ''s/^.*<a.href="[^"]*">/([^<]*/).*//1/p''

pero no entiendo cómo extraer /12 .

¿Alguien puede ayudar?


Puede probar a continuación la solución awk -

vipin@kali:~$ awk -F''>|<'' ''{print $(NF-6),$(NF-4)}'' OFS="" kk.txt 42.224.0.0/12

Necesita usar múltiples separadores de campo múltiples (>,<) .