Ich versuche, eine Datei mit IP-Adressen als Grundlage für die Suche durch eine Cisco Firewall-Konfigurationsdatei verwenden. Normalerweise würde ich etwas wie verwenden:Wie grep eine Datei mit Suchparametern aus einer anderen Datei
for i in $(cat ip.file); do grep $i fw.config; done
Aber das kehrt absolut nichts zurück. Wenn ich das Skript in einer Datei speichern, und führen Sie es mit der Bash -xv Flags, gibt jede Zeile wie folgt aus:
+ 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 ist genau das, was ich passieren soll, aber ich bekomme nichts von diesem Befehl zurück.
Ich kenne die Option grep -f, aber das gibt auch nichts zurück. Ich bin kein erfahrener Programmierer, also übersehe ich vielleicht etwas Offensichtliches.
wird nicht Ihr Problem beheben, aber Sie sollten immer Variablen zitieren, wenn sie Argumente auf einen Befehl sind. Es ist keine schlechte Idee, '' 'zu verwenden, um die Optionsverarbeitung zu stoppen, wenn eines der Argumente ebenfalls eine Variable ist. 'grep -" $ i "fw.config' –