Убрал ненужное разбиение имени файла на сегменты
Быстрый fix: простой сортировки достаточно...

... чтобы строки вида !str оказались перед str :)