Ich würde etwas Hilfe mit einem awk-Skript oder was auch immer die Arbeit tun würde.AWK (oder etwas anderes) Durchschnitt mehrerer Spalten aus mehreren Dateien
Also, ich habe mehrere Dateien (die gleiche Anzahl von Zeilen und Spalten) und ich möchte einen Durchschnitt von jeder Zahl in jeder Spalte (außer dem ersten) aus allen Dateien machen. Ich habe keine Ahnung, wie viele Spalten es in einer Datei gibt (obwohl ich wahrscheinlich die Nummer bekommen könnte, wenn nötig).
filename.1
1 1 2 3 4
2 3 4 5 6
3 2 3 5 6
filename.2
1 3 4 6 6
2 5 6 7 8
3 4 5 7 8
Ausgang
1 2 3 5 5
2 4 5 6 7
3 3 4 6 7
ich diese irgendwo hier gefunden haben, dass es für eine einzelne Spalte tut (so weit wie ich es verstehe
awk '{a[FNR]+=$2;b[FNR]++;}END{for(i=1;i<=FNR;i++)print i,a[i]/b[i];}' fort.*
Also das einzige? Änderung wäre, das + = $ 2 durch einen Zyklus über alle Spalten zu ersetzen? Gibt es eine Möglichkeit, dies zu tun, ohne die genaue Anzahl der Spalten zu kennen?
Danke.
Danke, das macht den Trick. –
Ha, ich bin überrascht, dass dies tatsächlich für das mitgelieferte Beispiel funktioniert, da ich entdeckt habe, dass ich einen Fehler in file.2 gemacht habe. Nach der Korrektur gibt es nur sum [rowNr, colNr]/ARGIND, um die richtigen Ergebnisse für die reelle Zahl zu erhalten. Prost. –