0
私は、整数値が ";"で書かれたtxtファイルを持っています。セパレータ。 117; 92; 16; 20;bash配列から最大値と最小値を見つける
これらを比較し、最も高いものを選択する必要があります。
IFS=';' #Internat Field Separator
read -ra vector<$file
max=$vector[0]
min=$vector[0]
for i in ${vector[@]}
do
if [[ $i > $max ]] ; then
max=$i
fi
if [[ $i < $min ]] ; then
min=$i
fi
done
echo "Max value is $max, minimal value is $min"
break
出力されます:私のコードは
最大値は92で、これは間違っているもちろんので、最小限の値は16
です。私はそれをエコーしようとすると:
echo $value (in a loop of course)
出力がある
177 [0] 92 16 25
なぜintとして最初の文字のショー[0]?そのため私はそれらを比較することはできません。私は何かを理解することができません....
'max = $ {vector [0]}; min = $ {vector [0]} – anubhava
質問する前に実際にあなたの問題だったファイルを読み込むことになっていたかどうかを確認した場合は、 。 –
'declare -p vector'は、その名前で完全に知られている/わかっている変数の値を表示するためのベストプラクティスです。 –