ディレクトリ内のファイルをリストし、それらをループ処理していますが、ファイルの数も知る必要があります。${#dirlist[@]} は常に 1 ですが、for ループは機能しますか?
#!/bin/bash
prefix="xxx"; # as example
len=${#prefix}; # string length
dirlist=`ls ${prefix}*.text`;
qty=${#dirlist[@]}; # sizeof array is always 1
for filelist in $dirlist
do
substring="${filelist:$len:-5}";
echo "${substring}/${qty}";
done
xxx001.text から xxx013.text までのファイルがあります
が、取得できるのは 001/1 002/1 003/1 だけです