6

C シェルを使用して小さなスクリプトを作成しようとしています。このスクリプトは、名前と番号を含む複数の行で構成されるファイルを取得し、特定の名前を持つすべての番号を合計します。毎回次の行を変数に入れるにはどうすればよいですか?

私が行う集計部分: ($line までの完全な行を取得できるようになった後)

set line =($line)
@ sum = $sum + $line[2]
4

6 に答える 6

8

次のコードを使用して問題を解決できました。

foreach line ("`grep $1 bank`")
    echo $line
    set line_break = ($line)
   @ sum = $sum +$line_break[2]
end
echo $1\'s balance id: $sum\$
于 2010-10-27T13:37:40.683 に答える
1

あなたの質問に答えるかもしれないこの議論を見つけました: http://www.linuxquestions.org/questions/programming-9/csh-while-read-738708/

于 2010-10-25T09:34:45.533 に答える
0

variable file は、ソース ファイル test.txt 内の行をスペースで区切った配列です。一行ずつ抽出するのに便利です。

set text = 'awk -v ln=$j '{if (NR==ln) print $0}' test.txt'
于 2021-04-20T04:00:22.947 に答える
-1

awk はどのシェルからでも呼び出すことができます:

% cat >test.dat
a 1
a 3
b 2
a 7
b 4
% awk '($1 == "a") { SUM += $2 } END { print SUM }' < test.dat
11
于 2010-10-27T13:48:40.387 に答える