我试着用c shell做一个小脚本,它会把一个由几行组成的文件,每行包含一个名字和一个数字,并把所有有特定名字的数字相加。我怎么能每次都把下一行放入一个变量呢?我最高部分是:(以后我就可以得到一个完整的行到$line了)
set line =($line) @ sum = $sum + $line[2]
svujldwt1#
我已经设法用下一段代码解决了这个问题:
foreach line ("`grep $1 bank`") echo $line set line_break = ($line) @ sum = $sum +$line_break[2] end echo $1\'s balance id: $sum\$
kyvafyod2#
变量文件是源文件test.txt中以空格分隔的行数组。一次提取一行非常有用。
set text = 'awk -v ln=$j '{if (NR==ln) print $0}' test.txt'
bksxznpy3#
foreach line (`awk '{print}' test_file`) echo $line end
set n = `wc -l a.txt` set i = 1 while($i <= $n) set line = "`awk '{if (NR == $i) print}' a.txt`" echo ${line} @i++ end
vxf3dgd44#
foreach line (`awk {print $0} test_file`) echo $line end
q1qsirdb5#
可以从任何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
5条答案
按热度按时间svujldwt1#
我已经设法用下一段代码解决了这个问题:
kyvafyod2#
变量文件是源文件test.txt中以空格分隔的行数组。一次提取一行非常有用。
bksxznpy3#
在cshell中正确的方法1
在cshell中正确的方法2
vxf3dgd44#
q1qsirdb5#
可以从任何shell调用Awk: