C シェルを使用して小さなスクリプトを作成しようとしています。このスクリプトは、名前と番号を含む複数の行で構成されるファイルを取得し、特定の名前を持つすべての番号を合計します。毎回次の行を変数に入れるにはどうすればよいですか?
私が行う集計部分: ($line までの完全な行を取得できるようになった後)
set line =($line)
@ sum = $sum + $line[2]
次のコードを使用して問題を解決できました。
foreach line ("`grep $1 bank`")
echo $line
set line_break = ($line)
@ sum = $sum +$line_break[2]
end
echo $1\'s balance id: $sum\$
あなたの質問に答えるかもしれないこの議論を見つけました: http://www.linuxquestions.org/questions/programming-9/csh-while-read-738708/
variable file は、ソース ファイル test.txt 内の行をスペースで区切った配列です。一行ずつ抽出するのに便利です。
set text = 'awk -v ln=$j '{if (NR==ln) print $0}' test.txt'
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