我尝试使用c shell创建一个小脚本,它将获取由多行组成的文件,每行包含一个名称和一个数字,并将所有具有特定名称的数字相加。我怎样才能每次将变量放入变量?
我做的总结部分:(在我能够获得$ line的完整行之后)
set line =($line)
@ sum = $sum + $line[2]
答案 0 :(得分:8)
我已经设法使用下一段代码来解决它:
foreach line ("`grep $1 bank`")
echo $line
set line_break = ($line)
@ sum = $sum +$line_break[2]
end
echo $1\'s balance id: $sum\$
答案 1 :(得分:1)
答案 2 :(得分:0)
变量文件是源文件 test.txt 中以空格分隔的行数组。一次提取一行很有用。
['3', '1', '4', '1', '5', '9', '2', '6', '5', '3', '5', '8', '9', '7', '9', '3', '2', '3', '8', '4', '6', '2', '6', '4', '3', '3', '3', '1', '4', '1', '5', '9', '2', '6', '5', '3', '5', '8', '9', '7', '9', '3', '2', '3', '8', '4', '6', '2', '6', '4', '3', '3']
答案 3 :(得分:0)
foreach 行 (awk {print $0} test_file
)
回声 $line
结束
答案 4 :(得分:0)
foreach 行 (awk '{print}' test_file
)
回声 $line
结束
设置 n = wc -l a.txt
设置 i = 1
而($i <= $n)
设置行 = "awk '{if (NR == $i) print}' a.txt
"
回声 ${行}
@我++
结束
答案 5 :(得分:-1)
可以从任何shell调用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