/ / Bash analizza l'output nel comando route - linux, bash, networking

Bash analizza l'output nel comando route - linux, bash, networking

Sto scrivendo uno script bash per registrare gli host remoti in una rete wireless. Ricevo gli IP remoti, ma ho bisogno di aiuto per analizzare l'output. Ecco il mio output:

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

Devo ottenere questi IP e inserirli in un comando simile ... <remote_ip_1> ...

Come si può fare? Non sono riuscito a trovare questo caso nelle risposte.

Grazie

risposte:

0 per risposta № 1

Potresti usare qualcosa del genere

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

Stiamo negando l'uso di grep e usando // per cercare il testo richiesto e quindi la funzione di sistema awk per eseguire un comando insieme a $ 1


0 per risposta № 2

Prova quanto segue:

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

Ad esempio, prova quanto segue:

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

L'argomento -L 1 dice a xargs di eseguire un comando per IP. Vedi man xargs per maggiori dettagli