ich ein awk Scrip haben, die Funktionen wie unten umfasst:awk-Skript mit Funktionen auf entfernten Servern
for file in logfile.log;
do
echo "File Name- "$file;
grep -v "Some Text" $file | awk -F [:\ ] '{sub(/T/, " "); if($8~500) CNT[$1":"$2]++} END {for (c in CNT) print c, "--", CNT[c]}' | sort;
echo "==============Done with $file==================";
done
Aber ich möchte auf viele entfernen Server dieses Skript auszuführen, so dass ich melden Sie sich einfach in unseren Einsatz (Welche grundsätzlich haben Zugriff auf alle Server, die ich ausführen möchten) und ich bin immer Fehler viele Kompilation, ich bin mit dem folgenden Code:
for server in 01 02 03 04; do
ssh [email protected]$server '
hostname -f;
cd /logs/dir/path;
for file in log-file-name.log;
do
echo "File Name- "$file;
grep -v "Some Text" $file | awk -F [:\ ] '{sub(/T/, " "); if($8~500) CNT[$1":"$2]++} END {for (c in CNT) print c, "--", CNT[c]}' | sort;
echo "==============Done with $file==================";
done
' 2>&1 | grep -v 'THIS SYSTEM IS RESTRICTED'; done
Kann jemand bitte mir auf diesem helfen? Mein Problem ist, obwohl dieses Skript dosent irgendwelche Kompilierungsfehler hat, ich bekomme viele Kompilierungsfehler.
Vielen Dank im Voraus!
Das von Ihnen gepostete awk-Skript enthält keine Funktionen. Was denkst du 'für Datei in logfile.log;' tut? Da in Ihren Skripten nichts kompiliert wird, erhalten Sie keine Kompilierungsfehler, vielleicht meinen Sie Syntaxfehler oder Laufzeitfehler? Wenn Sie Fehler erhalten, senden Sie bitte die Fehlermeldungen. –
Hallo Morton, für Datei in logfiles.log - das wird mehr als eine Datei loopen, nur zum Testen erwähnte ich eine Datei, aber ich muss mehr als eine Datei loopen, also nahm ich diese für die Schleife. Die Fehlermeldung, die ich bekomme, ist ---> webserveriw01.ceso.com bash: -c: Zeile 6: Syntaxfehler in der Nähe eines unerwarteten Tokens '(' bash: -c: Zeile 6:' grep -v "Ein Text" $ file | awk -F [: \] \ {sub (/ T /, ""); if ($ 8 ~ 500) CNT [$ 1 ":" $ 2] ++} END {für (c in CNT) drucke c, "-", CNT [c]} \ | sort; ' – Vasu
awk ist perfekt in der Lage, mehrere Dateien zu öffnen ('awk 'Skript' file1 file2 ...'), Sie brauchen keine Schleife. [Edit] –