bash 配列

配列使えるのでなんか適当なことできないかなと思って、日々取得している各OLTのbit-errorを取得するコマンド結果のファイル
で取得時とその次の取得時でbit-errorカウンタが大きく変動しているものを見つけようとしています。

LISTでlsした結果を配列にしてて seq 1 x で配列の番号確定と必要数ループさせようとしてます。

LIST=($(ls OLT1-BERSTATS-20230601*))
FC=($(ls OLT1-BERSTATS-20230601* | wc -l))

for n in `seq 1 $FC`
do
cat OLT1INT | while read INT
do
BDSBER=($(zcat ${LIST[$n]} | grep "$INT " | awk '{print $3}'))
ADSBER=($(zcat ${LIST[$n+1]} | grep "$INT " | awk '{print $3}'))

BUSBER=($(zcat ${LIST[$n]} | grep "$INT " | awk '{print $4}'))
AUSBER=($(zcat ${LIST[$n+1]} | grep "$INT " | awk '{print $4}'))

if [ $(($AUSBER - $BUSBER)) -gt 1000000 ]; then
echo ${LIST[$n]}
echo "USBER 1000000 over ${INT}" $(($AUSBER - $BUSBER))

fi

if [ $(($ADSBER - $BDSBER)) -gt 1000000 ]; then
echo ${LIST[$n]}
echo "DSBER 1000000 over ${INT}" $(($ADSBER - $BDSBER))
fi
done
done


zcatしてgrepしてるところはzgrepでよさそう。
あと、 ${LIST[$n+1]} こういう書き方が許されるんだーと少し驚いたのでメモ書き