フォームパターンに一致するすべてのファイルを繰り返したいです。
for file in {prefix1, prefix2, ...}*{postfix1, postfix2, ...}; do
{prefix1, prefix2, ...}
プログラムでこれらの名前を含むリストに置き換えるにはどうすればよいですか?試してみましたが、変数拡張の前に中かっこ拡張が$prefix*$postfix
行わprefix={prefix1,prefix2,...}
れているため動作しません。
ベストアンサー1
プレフィックス/サフィックスパターンにスペースがない場合は、拡張ワイルドカードを使用できます。
shopt -s extglob
prefix='@(prefix1|prefix2|prefix3)'
suffix='@(suffix1|suffix2|suffix3)'
echo $prefix*$suffix
for file in $prefix*$suffix; do
#...
done
IFS
変数が適切に設定されている場合は、スペースを処理できます。