Sto cercando di utilizzare un file contenente indirizzi IP come base per la ricerca attraverso un file di configurazione del firewall Cisco. Normalmente, vorrei usare qualcosa del tipo:Come grep un file utilizzando i parametri di ricerca da un altro file
for i in $(cat ip.file); do grep $i fw.config; done
Ma fare ciò non restituisce assolutamente nulla. Se metto lo script di cui sopra in un file ed eseguirlo con la bash -xv bandiere, ogni riga restituisce qualcosa di simile:
+ for i in '`cat ip.file`'
+ grep $'1.2.3.4\r' fw.config (each IP address is different)
grep 1.2.3.4 fw.config è esattamente quello che voglio che accada, ma io non ottenere nulla indietro da questo comando.
Conosco l'opzione grep -f, ma non restituisce nulla. Non sono un programmatore esperto, quindi potrei trascurare qualcosa di ovvio.
Questo non risolverà il problema, ma si dovrebbe sempre citare le variabili quando sono argomenti per un comando. Non è una cattiva idea usare '--' per interrompere l'elaborazione delle opzioni quando anche uno degli argomenti è una variabile. 'grep -" $ i "fw.config' –