/ / Bash parse salida en el comando de ruta - linux, bash, redes

Salida de Bash parse en el comando de ruta - linux, bash, redes

Estoy escribiendo un script de bash para registrar los hosts remotos en una red inalámbrica. Obtengo las IP remotas, pero necesito ayuda para analizar la salida. Aquí está mi salida:

$ IPS=`route -n | grep -e "10.0.0" | awk "{ print $1 }"`
$ echo $IPS
10.0.0.2
10.0.0.3

Necesito obtener estos IP e insertarlos en un comando como ... <remote_ip_1> ...

¿Cómo puede hacerse esto? No pude encontrar este caso en las respuestas.

Gracias

Respuestas

0 para la respuesta № 1

Podrías usar algo como

route -n | awk "/10.0.0/ { system("command to be executed with "$1) }"
^
added missing )

Estamos negando el uso de grep y utilizando // para buscar el texto requerido y luego la función del sistema awk para ejecutar un comando junto con $ 1


0 para la respuesta № 2

Pruebe lo siguiente:

route -n | grep -e "10.0.0" | awk "{ print $1 }" | xargs -L 1 your_command

Por ejemplo, intente lo siguiente:

route -n | grep -e "10.0.0" | awk "{ print $1 }" | xargs -L 1 echo "===>"

El argumento -L 1 le dice a xargs que ejecute un comando por IP. Ver man xargs para más detalles.