Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 逐行乘法_Bash_Awk - Fatal编程技术网

Bash 逐行乘法

Bash 逐行乘法,bash,awk,Bash,Awk,我知道如何在列中乘法,但我不能处理行中的乘法。我想计算第一行中每个数字的三次方,然后乘以第二行的数字和一个常量变量。始终有两行,例如: 输入:常数:x a c ... ... b d ... ... 我希望有这样的输出: (a^3)*b*x (c^3)*d*x ... ... 一些实数的输入:常数:0.30和四列 1.00 2.00 4.00 7.00 1.10 1.05 0.30 0.10 输出: 0.33 2.52 5.76

我知道如何在列中乘法,但我不能处理行中的乘法。我想计算第一行中每个数字的三次方,然后乘以第二行的数字和一个常量变量。始终有两行,例如:

输入:常数:
x

a c ... ...
b d ... ...
我希望有这样的输出:

(a^3)*b*x (c^3)*d*x ... ...
一些实数的输入:常数:
0.30
和四列

1.00    2.00    4.00    7.00    
1.10    1.05    0.30    0.10
输出:

0.33    2.52    5.76    10.29   

希望有人能帮忙。谢谢。

我建议您阅读python中的列表。请查找参考资料。你的问题是你需要用代码弄脏你的手。开始练习更多编程问题。:)

目瞪口呆


awk-vx=0.3'{for(i=0;++i1{for(i=0;++i也许这会更直观

$ tr -s ' ' '\n' < file | pr -2t | awk -v x=0.3 '{printf "%.2f ", $1^3*$2*x} END{print ""}'
0.33 2.52 5.76 10.29
$tr-s''\n'

转置数据文件,使相关字段位于同一行,计算,转置。

第3列和第4列应该是什么?相同的
a c\b d
结构?此外,您总是只有两行四列吗?总是只有2行20列。那么,结构是什么?您定义为2x2No。注意要想在这里提出一个好问题,最好提供一个。你想要一个难看的代码吗?为什么不在python、ruby中这样做呢?这可能很好地解决了问题,但也请提供一个解释。许多新用户来到这里,对你的代码进行解释可以帮助他们学习如何调整代码来解决问题。
awk -vx=0.3 '{for(i=0;++i<=NF;)a[NR][i]=$i}NR>1{for(i=0;++i<=NF;)printf "%s ",(a[NR-1][i]^3)*a[NR][i]*x;print ""}' file
0.33 2.52 5.76 10.29
$ tr -s ' ' '\n' < file | pr -2t | awk -v x=0.3 '{printf "%.2f ", $1^3*$2*x} END{print ""}'
0.33 2.52 5.76 10.29