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


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).



@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 и т. Д., Они также должны работать.


Круто, но хорошо ли это, если я хочу работать с этим файлом через терминал?
— 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.