各行を読み取り、各行の平均を計算して配列に格納するプログラムを作成しようとしています...たとえば、プログラムは最初の行を読み取り、すべての数値を加算し、24で割って、格納される平均を計算しますAvg_list[1]。プログラムを実行しようとすると、次のエラーが発生します。なぜそれが機能しないのかわかりません...誰かが問題を特定できますか?
コード:Kshで
c=0
while read -r line ; do
v=$line
set -- $v ((g=($2+$3+$4+$5+$6+$7+$8+$9+$10+$11+$12+$13+$14+$15+$16+$17+$18+$19+$20+$21+$22+$23+$24+$25+$26)/24))
echo $g
Avg_list[${c}]=$g
((c=c+1))
done < daily.txt
daily.txt
CPU 55 54 54 54 54 54 54 54 54 54 54 54 54 54 54 55 54 54 55 56 57 54 57 54
CPEAK 56 56 57 55 58 56 56 56 57 55 60 56 55 56 55 56 58 55 57 56 63 56 72 57
RAM 97 97 97 97 97 96 96 96 96 96 96 93 91 89 86 84 90 90 95 97 97 97 97 97
RPEAK 97 97 97 97 97 97 96 96 96 96 96 96 92 90 91 81 94 89 97 97 97 97 97 97
エラーメモ:
while read -r line ; do
v=$line
set -- $v
((g=($2+$3+$4+$5+$6+$7+$8+$9+$10+$11+$12+$13+$14+$15+$16+$17+$18+$19+$20+$21+$22+$23+$24+$25+$26)/24))
echo $g
Avg_list[${c}]=$g
((c=c+1))
done < daily.txt
+ 0< daily.txt
+ read -r line
+ v=CPU 54 54 54 54 54 54 54 54 54 54 54 54 54 54 55 54 54 55 56 57 54 57 54 54
+ set -- CPU 54 54 54 54 54 54 54 54 54 54 54 54 54 54 55 54 54 55 56 57 54 57 54 54
+ (( g=(54+54+54+54+54+54+54+54+CPU0+CPU1+CPU2+CPU3+CPU4+CPU5+CPU6+CPU7+CPU8+CPU9+540+541+542+543+544+545+546)/24 ))
PerformanceAM.sh[21]: g=(54+54+54+54+54+54+54+54+CPU0+CPU1+CPU2+CPU3+CPU4+CPU5+CPU6+CPU7+CPU8+CPU9+540+541+542+543+544+545+546)/24: 0403-009 The specified number is not valid for this command.
編集
while read -r line ; do
v=$line
set -- $v
((g=${2}+${3}+${4}+${5}+${6}+${7}+${8}+${9}+${10}+${11}+${12}+${13}+${14}+${15}+${16}+${17}+${18}+${19}+${20}+${21}+${22}+${23}+${24}+${25}+${26})/24))
echo $g
Avg_list[${c}]=$g
((c=c+1))
done < daily.txt
新しいエラー:
-r行を読んでいる間; do v = $ line set-$ v((g = $ {2} + $ {3} + $ {4} + $ {5} + $ {6} + $ {7} + $ {8} + $ {9} + $ {10} + $ {11} + $ {12} + $ {13} + $ {14} + $ {15} + $ {16} + $ {17} + $ {18} + $ {19} + $ {20} + $ {21} + $ {22} + $ {23} + $ {24} + $ {25} + $ {26})/ 24)PerformanceAM.sh [18]:0403 -057 21行目の構文エラー: `/24'は予期されていません。
あなたの提案をありがとう!使用済みのブラケットを試したところ、このエラーが発生しました...さらに混乱しています....数値がまったく収集されていないようです...