Как мне сначала перечислить папки с подчеркиванием?

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

Например, в моей папке электронных книг (в Windows) это выглядит примерно так:

_read
      Book1.pdf
      Book2.pdf
_reading
      Book3.pdf
Book4.pdf
Book5.pdf

, но в Ubuntu Nautilus это выглядит так:

Book4.pdf
Book5.pdf    
_read
      Book1.pdf
      Book2.pdf
_reading
      Book3.pdf

То, что происходит, это что он полностью игнорирует подчеркивание и рассматривает «_read» как «read» и, следовательно, не перечисляет его первым, как хотелось бы.

Я попытался установить переменную окружения LC_COLLATE в C. Это помогает как-то, поскольку в нем подчеркивание подчеркивается вместе, но в конце, а не в начале.

Благодаря.

23
задан 14 January 2013 в 12:29

2 ответа

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

Вы можете проверить это, запустив команду locale из командной строки ( Ctrl + Alt + t ).

Например:

~ $ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Переменная, которая влияет на порядок сортировки файлов, называется LC_COLLATE .

Согласно справочным страницам Ubuntu , переменная LC_COLLATE определяет «Как строки (имена файлов ...) сортируются в алфавитном порядке. Использование локали« C »или« POSIX » в результате получается порядок сортировки, подобный strcmp (), который может быть предпочтительным для языковых локализаций. "

Порядок сортировки необходимо будет изменить с LC_COLLATE="en_US.UTF-8" на LC_COLLATE=C. [ 1116]

В командной строке ( Ctrl + Alt + t ) введите:

update-locale LC_COLLATE=C

Важно: Вам необходимо выйти из системы, а затем снова войти в систему, чтобы изменения вступили в силу .

Повторное выполнение команды locale должно показать, что переменная LC_COLLATE была успешно изменена. Повторное выполнение команды ls -l должно отражать это изменение.

0
ответ дан 14 January 2013 в 12:29

У caja (и я думаю, что Nautilus до него) есть опция в настройках для сортировки папок перед файлами. Это поможет?

0
ответ дан 14 January 2013 в 12:29

Другие вопросы по тегам:

Похожие вопросы: