Hallo!
Am Freitag 09 Juli 2010 schrieb Rico Koerner:
for CONN in $FAILCONN; do awk -F , '($2 == "on") {printf "%s %s %s\n", $1, $3, $13}' $CONFIG done
ergibt pro fehlender Verbindung ($13 ist rightsubnet): 2 VPN-A2 10.129.4.128/255.255.255.128 4 VPN-B 192.168.20.0/255.255.255.0
Als Rückgabewert braucht ich lediglich $3 für logger bzw. $1 für den Neustart der Verbindung. $13 wird nur zum Vergleich benötigt.
Wie kann ich das jetzt in dem awk-Aufruf noch mit der IP 10.129.4.128 vergleichen? Ich bräuchte innerhalb der Bedingung so etwas wie: ($2 == "on" && $CONN == ( awk -F / '{print $1}' $13 ) )
Mein erster Vorschlag: Auf die erzeugte Datei mit der Ausgabe von awk noch mal grep anzuwenden (also grep '10.129.4.128' $file ...)
Der andere: awk kann Variablen mitnehmen, wenn man das deklariert. awk -F, -v conn=$CONN ... Dann lässt sich der Vergleich so etwa durchziehen, wie du es beschrieben hast.
Gruss Reiner