Ich möchte ein generisches awk-Skript schreiben, das eine Datei und eine Feldnummer (in dieser Datei) als Eingabe verwenden und den Durchschnittswert dieses Feldes angeben kann diese Datei. Ich würde es so etwas wie folgt verwenden:Generisches awk-Skript zur Berechnung des Mittelwerts für jedes Feld über das Befehlszeilenargument
bash$ avg.awk 3 input.file
22
bash$ avg.awk 4 input.file
2001
Natürlich kann ich das Drehbuch schreiben, wenn ich weiß, welches Feld (zum Beispiel $ 3) ich vorher im Durchschnitt werde. Das wäre so etwas wie dieses:
//{tot+=$3; count++}
END{
print tot/count;
}
Aber ich will in der Lage sein, das Feld I über eine Befehlszeilenoption mitteln ändern möchten. Ist das möglich? Vielen Dank!
Ich könnte nicht env wie die Art, wie Sie beschrieben verwenden. Fürs Erste habe ich gerade den richtigen Weg zu awk gelegt. Es funktioniert aber. Vielen Dank! – Ritesh
Die Verwendung von/usr/bin/env ist meine Art, mit der Tatsache umzugehen, dass verschiedene Systeme awk an verschiedenen Orten installieren. Möglicherweise möchten Sie an der Eingabeaufforderung ein 'which env' ausgeben, um herauszufinden, wo sich env in Ihrem System befindet. –
/usr/bin/env: awk -f: Keine solche Datei oder Verzeichnis Dies ist die Nachricht, die ich bekomme. env ist in/usr/bin/env. Obwohl Sie mein erstes Problem gelöst haben, würde gerne lernen, wie env verwendet werden kann. – Ritesh