Как назвать файл, который будет самым первым в Наутилусе?

16

Новые версии Nautilus хороши тем, что пропускают не буквенно-цифровые буквы в начале имени файла и сортируют файлы по первой буквенно-цифровой букве (если есть). Но как назвать файл, чтобы отсортировать его раньше 0? Предположим, у меня есть папка с этими файлами:

0apple.conf
apricot.xml
banana
camel.so
cat.py
dog.tar.bz

и я хочу добавить префикс в одну или две буквы cat.py, чтобы отсортировать его перед 0apple.confфайлом. Я не хочу менять имя, просто добавьте префикс. Я также не хочу менять имена других. Я уже пробовал:

  1. #cat.pyи .cat.pyимена и греческий алфавит префиксы сортировать файл до конца (после того, как dog.tar.bzфайл, .изменения и видимость)
  2. любой из ,-";:-–\_(?)*+%=<>!префиксов сортирует файл между camel.soи dog.tar.bz(как без префикса).

Да, есть возможность добавить больше нулей в начале, но я хочу, чтобы имя файла было как можно более коротким и в самой первой позиции.

PS: Мой язык чешский (поэтому сверка должно быть что - то вроде cs, cz, czechили cs_CZ).

aleskva
источник
@Aurigae извините, но они не связаны, они сортируют их только в ls, но не в Nautilus
aleskva
а +0cat.py?
Сильвен Пино
Нет, все еще не первый
aleskva
Один ответ можно найти по этой ссылке: Руководство Nautilus под заголовком «Сорт Nautilus». Это способ изменить способ, которым Nautilus обрабатывает специальные символы при сортировке имен файлов.
bashBedlam

Ответы:

7

Префикс 0уже делает сортировку файла самой первой в Nautilus. Что может прийти перед самым первым файлом? Никакие файлы не могли, кроме каталогов. Это верно независимо от используемой локали.

Наименование файла

В следующем примере я сначала создал пустой текстовый файл с именем, apple.txtзатем сделал несколько копий и переименовал каждый из файлов, добавив односимвольный префикс. Я использовал только большинство совместимых буквенно-цифровых символов: 0 A á _ -и (пробел). Это означает, что я создал всего 7 файлов, плюс каталог с именем appleдля справки.

Обратите внимание, что áэто вторая буква чешского, которая находится в этом разделе статьи в Википедии. Первая буква похоже на английскую: Aи a.

Сортировка файлов

Как Nautilus будет сортировать эти файлы в другой среде локали? Оказывается, это похоже, но немного отличается. Смотрите следующий скриншот для сравнения.

Наутилус в английской и чешской среде

Наутилус сортировал файлы в английской среде en_US.UTF-8так:

apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
apple.txt <-- original file without prefix
 apple.txt
_apple.txt
-apple.txt

Наутилус сортировал файлы в чешской среде cs_CZ.UTF-8так:

apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
 apple.txt
apple.txt <-- original file without prefix
-apple.txt
_apple.txt

В обеих локалях нет изменений в порядке каталога и топ-3 файлов при просмотре в виде списка в Nautilus. Это уже показывает, что алфавитно-цифровой символ не может появиться раньше 0apple.txt.

Обходной путь 1

Одним из способов является создание файлов с именем, отличным от существующего «apple», с таким же префиксом, 0который предшествует существующему. Создание 0aaa.txtпридет раньше 0apple.txtи так далее.

Используя этот обходной путь, файлы сортируются следующим образом:

0.txt
0a.txt
0aaa.txt
0apple.txt
...

Таким образом, файл 0.txtбудет самым первым файлом, который появится в Nautilus. Другие файлы не могут появиться раньше 0.txt, если только пользователь не хочет создать имя файла .txt(используя только пробел).

Обходной путь 2

Скажем, если appleэто уже самый первый файл, который может существовать, и пользователь настаивает на том, чтобы не переименовывать apple, есть другой способ: переименовать существующий файл с большим префиксом номера из 0apple.txtв 9apple.txt. Это позволит другие файлы с меньшим номером префиксом 0*для 8*предстать перед 9apple.txt.

Используя этот обходной путь, файлы сортируются следующим образом:

0mango.txt
1kiwi.txt
2orange.txt
...
9apple.txt
...

Обходной путь 2 не подходит, если 0apple.txtпо какой-либо причине его нельзя переименовать целиком. Обходной путь 1 будет более эффективным, так 0.txtкак всегда будет отображаться раньше 0mango.txtили с другими именами файлов, которые может придумать пользователь.

Как я тестировал

В моем тестировании были установлены только необходимые языковые пакеты, чтобы подготовить чешскую среду для запуска Nautilus в Ubuntu. Быстрый способ запуска программы в другой локали по LANG=<LOCALENAME> nautilusкоманде не сработал. Отсюда и следующие шаги.

  • Установите эти пакеты language-pack-gnome-cs language-pack-gnome-cs-base language-pack-cs language-pack-cs-baseчерез APT в Терминале

  • Выберите « Настройки системы»> «Язык и поддержка».

  • В « Язык - язык для меню и окон» перетащите запись с именем čeština(слово «чешский», отмеченное в Википедии ) вышеEnglish

  • Выйдите и войдите снова, чтобы вступить в силу

Протестировано с использованием Nautilus 3.14.3 в Ubuntu 16.04 LTS (Live).

TL; DR Имя файла с префиксом 0создает самый первый файл в Nautilus. Никакие другие файлы, кроме каталогов, не могут появляться перед самым первым файлом.

оборота клиаркимура
источник
Относительно безумия в поведении сортировки Nautilus и неуважения к переменной окружающей среды, обратитесь к этому более старому посту .
clearkimura
1
Как коренной чешский человек, я должен исправить вас: Áили áэто вторая буква в чешском алфавите после Aили a. Посмотрите на левый столбец в связанной таблице Википедии. Правый столбец - это написание буквы в левом столбце.
Мелебиус
@Melebius Исправлено соответственно. Плохо, я неправильно прочитал в столбце «Имя» вместо «Письмо» в таблице.
clearkimura
Другая незначительная вещь в том, что Áили áне совпадает с Aили a. Но вы ответили на большинство моих вопросов, спасибо
aleskva
Я намеревался использовать письмо из чешского языка, которое может заменить типичные римские буквы или даже цифры, но я неправильно прочитал таблицу в Википедии. Мне стыдно за свою глупую ошибку ... Я не пробовал с другим языком, хотя.
clearkimura
2

Вы пробовали пробел в качестве префикса?

[0cat.py]

Другие символы, которые вы упомянули, тоже не работают, но пробел работает нормально.

Вы также можете попробовать другие комбинации пространственных символов и нуля, например: -0cat.pay, _0cat.py и т. Д., Они также должны работать.

Ravexina
источник
Круто, но хорошо ли это, если я хочу работать с этим файлом через терминал?
aleskva
Я думаю, что я должен закодировать имя файла, и автозаполнение не будет работать, что не так удобно.
aleskva
Я также не могу переименовать какой-либо файл с этим именем в Nautilus (я могу сделать это только с помощью терминала), что тоже не очень удобно.
aleskva
2
Попробуйте другую комбинацию пространственных символов и нулей, что-то вроде -0cat.py или! 0cat.py или что-нибудь еще, они тоже должны работать. Я отредактировал свой ответ.
Равексина
Для меня нет, 00apple.conf все еще до -0cat.py: /
aleskva
0

У меня есть успех с именами файлов с использованием префикса аа. Скажем, оригинальное имя файла - info.txt - имя будет aa.info.txt. Можно расширить это с «ааа». или "bb." и т.д. Я бы избегал специальных символов и пробелов, некоторые из которых могли бы усложнять составление сценариев.

Роджер
источник
Это не отвечает на вопрос ОП.
edwinksl
Как насчет ссылки на его экзамен aa.00apple.conf?
Роджер
Что насчет 000apple.conf?
userDepth
Плохо то, что 00apple - это после 0apple, и если вы добавите еще один ноль, вы не в начале
aleskva