Ответ 1
Используйте параметр -v
:
ls -v file*
file1
file2
file11
file12
Другим вариантом может быть использование sort -V
, если предположить, что он доступен на вашей платформе:
ls file* |sort -V
Как я могу упорядочить файлы в каталоге по их истинному числовому порядку.
file1.txt
file2.txt
file11.txt
...
Я думаю, что это называется: Natural Order
Используйте параметр -v
:
ls -v file*
file1
file2
file11
file12
Другим вариантом может быть использование sort -V
, если предположить, что он доступен на вашей платформе:
ls file* |sort -V
Для этого конкретного списка файлов сортируйте численно начиная с пятого символа первого поля.
$ ls file*|sort -k1.5n
file1
file2
file11
file12
Если все имена файлов fileSOMENUMBER.txt
, попробуйте следующее:
ls -1|sed 's:^[^0-9]*\([0-9]*\).*$:\1:g'|sort -n|sed 's:^\(.*\)$:file\1.txt:g'