This question already has an answer here:
Why would a correct shell script give a wrapped/truncated/corrupted error message? [duplicate]
(1个答案)
我有一个这样的文件:
我试图在整个标签后读取数字,将它们放入数组中,并在对它们执行操作后将结果添加到total中。
但我得到:“)语法错误:算术运算符无效(错误标记为”
我读了所有类似的问题,尝试了不同的东西,但似乎没有任何效果。
(1个答案)
我有一个这样的文件:
<Overall>3
<Overall>1
<Overall>4
<Overall>5
...
我试图在整个标签后读取数字,将它们放入数组中,并在对它们执行操作后将结果添加到total中。
array=($(grep '<Overall>' "$file" | cut -d'>' -f 2))
total=0
for each in "${array[@]}"
do
total+=$(awk -v awkEach="${array[$each]}" 'BEGIN{print (awkEach-4.78)^2}')
done
但我得到:“)语法错误:算术运算符无效(错误标记为”
我读了所有类似的问题,尝试了不同的东西,但似乎没有任何效果。
最佳答案
你可以用这个来代替一切,
$ awk -F'>' '{sum+=($2-4.78)^2} END{print sum}' file
18.1136
10-04 13:46