Bash ist hier Groß- und Kleinschreibung. Das Problem liegt in der Sortierreihenfolge der Zeichen im Bereich. Aus dem Bash-Handbuch ( info bash
):
Die Sortierreihenfolge der Zeichen in Bereichsausdrücken wird durch das aktuelle Gebietsschema und den Wert der Shell-Variablen 'LC_COLLATE' (falls festgelegt) festgelegt.
In der Standard-C-Ländereinstellung entspricht "[a-dx-z]" "[abcdxyz]". Viele Gebietsschemas sortieren Zeichen in der Wörterbuchreihenfolge. In diesen Gebietsschemas ist '[a-dx-z]' normalerweise nicht äquivalent zu '[abcdxyz]'; Es könnte beispielsweise äquivalent zu "[aBbCcDdxXyYz]" sein. Um die traditionelle Interpretation von Bereichen in Klammerausdrücken zu erhalten, können Sie die Verwendung des C-Gebietsschemas erzwingen, indem Sie die Umgebungsvariable 'LC_COLLATE' oder 'LC_ALL' auf den Wert 'C' setzen.
Versuchen Sie es zu tun
export LC_COLLATE=C