我得到了一个有两列的文件,并且想要在bash中写一个for循环,该循环从第一列中取出值,将其减去3并将其乘以第二列中的相应值。 然后将所有值一起添加。For循环遍历一个文件 - 多个条件
的文件看上去例如像这样:
1 3
2 5
7 8
4 30
那么我想一个循环的作用:
1-3 * 3
+ 2-3*5
+ 7-3*8
+ 4-3*30
我已经一个for循环看起来像这样:
for (p in $(awk '{ print $1; }' file.txt)
do
total=$(echo $total+($p-3) | bc)
((count++))
done
echo " $total" | bc > file2.txt
这有效。但是我能做些什么来包含与文件另一列的乘法?
以下想法行不通:
for (p in $(awk '{ print $1; }' file.txt) && k in $(awk '{ print $2; }' file.txt)).
'的awk“{总+ =($ 1 - 3 )* $ 2} END {print total}'file.txt' – Phylogenesis
如果您不使用圆括号,说明与计算不匹配...'(1-3)* 3!= 1-3 * 3' – karakfa
当然是的;) – Dontwastetime