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 № 1Podrí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.