Ich habe eine Datei mit zwei Spalten und möchte eine for-Schleife in bash, die den Wert aus der ersten Spalte, subtrahiert 3 und multipliziert es durch den entsprechenden Wert in der zweiten Spalte. Und dann fügen Sie alle Werte zusammen.For Schleife durch eine Datei - mehrere Bedingungen
Die Datei sieht zum Beispiel wie folgt aus:
1 3
2 5
7 8
4 30
dann will ich eine Schleife, die funktioniert:
for (p in $(awk '{ print $1; }' file.txt)
do
total=$(echo $total+($p-3) | bc)
((count++))
done
echo " $total" | bc > file2.txt
:
1-3 * 3
+ 2-3*5
+ 7-3*8
+ 4-3*30
Ich habe bereits eine for-Schleife, die wie folgt aussieht
Das funktioniert. Aber was kann ich tun, um eine Multiplikation mit einer anderen Spalte der Datei zu machen?
Die folgende Idee nicht funktioniert:
for (p in $(awk '{ print $1; }' file.txt) && k in $(awk '{ print $2; }' file.txt)).
'awk‚{total + = ($ von 1 bis 3) * $ 2} END {print total} 'file.txt' – Phylogenesis
Wenn Sie keine Klammern verwenden, stimmt die Erklärung nicht mit der Berechnung überein ... '(1-3) * 3! = 1-3 * 3' – karakfa
Ja natürlich;) – Dontwastetime