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