«Очистить по имени» не сортирует мои файлы в алфавитном порядке

У меня есть папка, содержащая шесть подпапок. Щелчок правой кнопкой мыши на фоне Finder и нажатие «Очистить по имени» сортирует их в порядке «1.0», «1.5», «1.6», «1.25», «1.56» и «2.0». Это довольно раздражает, потому что это не в каком-либо лексикографическом порядке (как я ожидал) и не в возрастающем числовом порядке, поэтому всегда требуется время, чтобы найти нужную подпапку, которую я хочу. В каком порядке «Очистка по имени» сортирует файлы?

ОС Х Йосемити v10.10.5

Ответы (1)

При выборе Очистить по имени элементы сортируются в алфавитно-цифровом порядке 1 .

Используя ваш пример, вы на самом деле ошибаетесь, говоря, что элементы не перечислены в каком-то порядке возрастания. Приведенный вами порядок:

 1.0, 1.5, 1.6, 1.25, 1.56, and 2.0.

Однако 4-е и 5-е значения выше можно интерпретировать как одну точку двадцать пять и одну точку пятьдесят шесть. Итак, 25 больше 6, 56 больше 25 и так далее.

Для сравнения, MS Windows делает то же самое.

Итак, почему это происходит?

Так же, как базы данных и электронные таблицы, большинство операционных систем используют строки для хранения данных, в данном случае имен файлов. Обычно это работает очень хорошо, но в таких примерах, как ваш, это нелогично, и поэтому многие люди в конечном итоге используют соглашения об именах, которые добавляют нули к имени файла (например, вместо этого 1.5) 1.50.

Недавно мне пришлось настроить рабочий процесс для организации, которая собиралась выпускать анимацию каждую среду в течение следующих трех лет. Они хотели, чтобы их файлы назывались NewsImage1, NewsImage2и т. д. Мне пришлось объяснять им, что это должно быть NewsImage001, NewsImage002и так далее, чтобы к тому времени, когда они были закончены, анимации все еще были перечислены в порядке от NewsImage001до NewsImage156. (Если бы это зависело от меня, в именах файлов использовалась бы схема датирования, такая как NewsImage201701 и т. д., но, увы, это был не мой выбор).

Также известно, что эта сортировка вызывает проблемы в определенных отраслях, но, насколько мне известно, единственным обходным путем в macOS является добавление нулей к именам файлов, как я описал выше. Раньше в Windows вы могли вручную редактировать раздел реестра, но я не уверен, что это все еще возможно.

Что бы это ни стоило, я всегда думал, что это должно быть где-то в Системных настройках, но я подозреваю, что это не предусмотрено для целей совместимости.

1 Под буквенно-цифровым я подразумеваю комбинацию буквенных (латинских) символов и цифровых (арабских) цифр, которая также учитывает символы (например, знаки препинания, математические знаки и т. д.). Таким образом, упорядочение работает на основе символов/специальных символов, за которыми следуют цифры по порядку, а затем буквы по порядку. Я не помню порядок сортировки специальных символов, но для чисел все, что после десятичной точки, является целым числом, а не дробью. Под этим я подразумеваю, что 1,1 ниже, чем 1,2, однако 1,15 выше, чем 1,2, потому что «15» в 1,15 воспринимается как пятнадцать, а «2» в 1,2 рассматривается как два (а не как двадцать).

Да, я подумал, что это было что-то в этом роде, но каков на самом деле порядок? Я не смог определить какой-либо порядок, совместимый с шаблонами, которые я наблюдал с другими файлами.
Спасибо за ответ. Я предоставил больше информации в сноске внизу. Дайте мне знать, если есть что-нибудь еще, что я могу сделать.
Какой странный заказ! Это странный гибрид, почти лексикографический, но он обрабатывает блоки последовательных цифр произвольной длины как единые единицы и сортирует их в числовом виде, но по какой-то причине он не рассматривает десятичные дроби как единые единицы, а скорее рассматривает обе стороны десятичной точки как отдельные целые числа, разделенные точкой. Код, определяющий этот порядок, должен быть довольно сложным. Мне нужно поговорить с тем, кто придумал этот приказ.