This question already has an answer here:

Why would a correct shell script give a wrapped/truncated/corrupted error message? [duplicate]
(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