フォルダに次のファイルがあるとします
1.txt
2.txt
a.txt
b.txt
c.txt
_
それらをプロセスするためにそれらのファイルとglobによってそれらのファイルと一致させると、例えば。
for f in *;do echo $f;done
_
その後、Bash
がそれらに一致する - マニュアルページに従って - アルファベット順に。
ただし、グロブのマッチング順序を定義するPOSIX規格はありますか。このようにして、POSIXに準拠している限り、私はあらゆるシェルの一定のマッチング順序に頼ることができました。
はい、POSIXによって注文が必要です。から POSIX SPEC :
パターンが既存のファイル名またはパス名と一致する場合、パターンはそれらのファイル名とパス名に置き換えられなければならない現在のロケールに有効な照合シーケンスに従ってソートされます。[強調された追加]
一貫した結果を保証するには、ロケールを指定する必要があります。プログラミングのために、設定LC_COLLATE=C
は一般的な選択です。