2
와 루프 때이 같은 파일이 ") 구문 오류 유효하지 않은 산술 연산자 (오류 토큰은": 배열
<Overall>3
<Overall>1
<Overall>4
<Overall>5
...
임, 전체 태그 뒤에 숫자를 읽어 배열에 넣어 위해 노력 . 그리고 그들과 함께 작업을 수행 한 후
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
총 수있는 결과를 추가하지만 내가 얻을 : ") 구문 오류 : 유효하지 않은 산술 연산자 (오류 토큰은"
내가 모두 비슷한 질문을 읽고 그리고 다른 것들을 시도했지만 아무것도 작동하지 않는 것 같습니다. 이 모든 대체 할 수
이 유일한 문제가 있다면 나도 몰라,하지만 당신은'선언 할 필요가 -i 총 = 0' 사용하려는 경우'+ =' 연산자는'(())'및'$ (()) '와 같은 산술 표현식 밖에 있습니다. – Fred
중복은 게시 된 오류의 원인을 설명하지만 스크립트에서 유일한 문제는 아닙니다. 아래에 게시 된 더 쉬운 해결책을 사용하거나, 당신의 문제를 해결하기 위해'total = $ (awk -v total = "$ total"-v awkEach = "$ each" 'BEGIN {print total + (awkEach-4.78)^2} '대신'1.bash 루프에서 for 루프를 사용하고 인덱스가 아니라 2.bash는 십진수로 숫자를 더할 수 없다. –