Он выполняет алфавитную сортировку, основанную на одиночных символах. Это означает, что «01» доходит до «1», так как naught имеет меньшее значение, чем одно.
Вот пример. У меня есть каталог с файлами с именами 1, 2, 3, 04, 05 и 06. Это текстовые файлы, содержащие их собственные имена файлов:
test$ cat *
04
05
06
1
2
3
Итак, да, это будет; но вы должны убедиться, что все ваши файлы «заполнены» правильно.
Эта отличная строка сценария bash позволит вам визуально сравнить имена файлов, что очень легко выявить любые ошибки:
for f in $(ls); do printf "%05s\n" "$f"; done
Результат будет выглядеть так:
04
05
06
1
2
3
Если это не так, вам нужно будет поместить имена файлов: yes в StackOverflow объясняет, как это сделать.
Edit. Голосуйте за ответ Оли, это намного лучше. : PI оставит мое, потому что он что-то добавит, но вы должны использовать его решение,
mp3wrap output.mp3 `ls -1 *.mp3 | sort`
Имейте в виду, что sort все равно будет сортировать вещи так, как я описал выше, вам все равно понадобятся для заполнения имен файлов, если они не равны по длине.