So multiplizieren Sie zwei Spalten in einer Datei mit einer konstanten Zahl

So multiplizieren Sie zwei Spalten in einer Datei mit einer konstanten Zahl

Ich habe eine Datei wie diese.

Eingabedaten

4.2394 4.4569
4.2427 4.1011
4.2879 4.1237
4.2106 4.4844
4.2373 4.1071
4.1322 4.0502
4.3103 4.4255
4.4342 4.5262

Ich muss jedes Element mit einem konstanten Faktor multiplizieren (in diesem Beispiel ist der Faktor 8,06573), um eine Ausgabe wie diese zu erhalten:

Ausgabe

34.193855762    35.948152037
34.220472671    33.078365303
34.585043667    33.260650801
33.961562738    36.169959612
34.176917729    33.126759683
33.329209506    32.667819646
34.765716019    35.694888115
35.765059966    36.507107126

Antwort1

Ich denke, das macht, was Sie wollen; es akzeptiert eine AWK-Variable namens „factor“, die leicht auf jeden gewünschten Wert eingestellt werden kann:

awk -v factor=8.06573 '{printf "%2.9f %2.9f\n", $1 * factor, $2 * factor}' 

Mit der gegebenen Eingabe gibt es Folgendes aus:

34.193855762 35.948152037
34.220472671 33.078365303
34.585043667 33.260650801
33.961562738 36.169959612
34.176917729 33.126759683
33.329209506 32.667819646
34.765716019 35.694888115
35.765059966 36.507107126

verwandte Informationen