Bei einigen Dateien in einem Verzeichnis data
liefert der folgende Befehl ls ein überraschendes Ergebnis in der Art, wie sie sortiert sind:
for f in data/*; do echo $f; done
data/CitiesBaselineCounts2015010520150112.49.csv
data/CitiesBaselineCounts2015010520150112.4.csv
data/CitiesBaselineCounts2015010520150112.50.csv
data/CitiesBaselineCounts2015010520150112.5.csv
data/CitiesBaselineCounts2015010520150112.6.csv
data/CitiesBaselineCounts2015010520150112.7.csv
data/CitiesBaselineCounts2015010520150112.8.csv
data/CitiesBaselineCounts2015010520150112.9.csv
data/CitiesBaselineCounts2015010520150112.csv
Das .
Zeichen ist ASCII 46-, das den Codes für alle Ziffern (48 bis 57) vorangeht.
Die Reihenfolge ist also nicht lexikografisch. Was sind die Regeln für die Sortierung durch den verwendeten ls
Befehl?