2 Wie man mit awk alle Zahlen summiert $1. $2, und $3 Felder? 8 6 2 7 3 5 1 9 4 Ich möchte, dass das Ergebnis Summe = 45 ist linux unix awk Steve quelle Ich hatte einen Kommentar und erkannte, dass die Frage für alle stand. Kann es ein Bash-Skript sein oder möchten Sie einen Einzeiler? nerdwaller Antworten: 5 nawk 'BEGIN { sum=0; } {sum += $1 + $2 + $3;} END { printf "%d\n", sum } ' a.in gt6989b quelle 5 awk verwenden: awk '{x+=$0;}END{print x}' RS="[ \n]" file Dies funktioniert unabhängig von der Anzahl der Zeilen oder Spalten. Durch Verwendung des Datensatztrennzeichens (RS) als Leerzeichen oder Newline wird jeder Wert in eine separate Zeile aufgeteilt und kann daher problemlos hinzugefügt werden. Guru quelle 0 Sie könnten auch mit coreutils und bc gehen: <file head -c-1 | tr ' \n' '++'; echo) | bc Wenn einige Spalten weggelassen werden sollten, z. wenn die Eingabe so ist: A 8 6 2 B 7 3 5 C 1 9 4 cut kann die gewünschten auswählen: <file cut -d' ' -f2- | head -c-1 | tr ' \n' '++'; echo) | bc Ausgabe in beiden Fällen: 45 Thor quelle
5 awk verwenden: awk '{x+=$0;}END{print x}' RS="[ \n]" file Dies funktioniert unabhängig von der Anzahl der Zeilen oder Spalten. Durch Verwendung des Datensatztrennzeichens (RS) als Leerzeichen oder Newline wird jeder Wert in eine separate Zeile aufgeteilt und kann daher problemlos hinzugefügt werden. Guru quelle
0 Sie könnten auch mit coreutils und bc gehen: <file head -c-1 | tr ' \n' '++'; echo) | bc Wenn einige Spalten weggelassen werden sollten, z. wenn die Eingabe so ist: A 8 6 2 B 7 3 5 C 1 9 4 cut kann die gewünschten auswählen: <file cut -d' ' -f2- | head -c-1 | tr ' \n' '++'; echo) | bc Ausgabe in beiden Fällen: 45 Thor quelle
Antworten:
nawk 'BEGIN { sum=0; } {sum += $1 + $2 + $3;} END { printf "%d\n", sum } ' a.in
quelle
awk verwenden:
Dies funktioniert unabhängig von der Anzahl der Zeilen oder Spalten. Durch Verwendung des Datensatztrennzeichens (RS) als Leerzeichen oder Newline wird jeder Wert in eine separate Zeile aufgeteilt und kann daher problemlos hinzugefügt werden.
quelle
Sie könnten auch mit coreutils und bc gehen:
Wenn einige Spalten weggelassen werden sollten, z. wenn die Eingabe so ist:
cut
kann die gewünschten auswählen:Ausgabe in beiden Fällen:
quelle