web-dev-qa-db-fra.com

Comment lister les dossiers avec des traits de soulignement en premier?

Donc, comme presque tout le monde, avant d’utiliser Ubuntu, j’utilisais une machine Windows, et l’une des choses à laquelle je me suis habitué sous Windows était d’utiliser le trait de soulignement comme premier caractère d’un nom de dossier comme une sorte de marquage spécial. apparaissent en premier sur la liste, à la fois en ligne de commande et dans l'explorateur de fichiers.

Par exemple, dans mon dossier eBooks (sous Windows), cela ressemble à ceci:

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

mais dans Nautilus d'Ubuntu, cela ressemble à ceci:

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

Ce qui se passe, c’est qu’il ignore complètement le trait de soulignement et traite "_read" comme "lu" et ne le répertorie donc pas en premier comme souhaité.

J'ai essayé de définir la variable d'environnement LC_COLLATE sur C. Cela aide d'une certaine manière, car elle répertorie le trait de soulignement ensemble, mais à la fin et non au début.

Merci.

23
nunos

Puisque vous n’avez pas spécifié les paramètres régionaux que vous utilisez actuellement, cette solution suppose que vous utilisez en_US.UTF-8 par défaut.

Vous pouvez le vérifier en exécutant la commande localeà partir de la ligne de commande (Ctrl+Alt+t).

Par exemple:

~ $ 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=

La variable qui affecte l’ordre de tri des fichiers s’appelle LC_COLLATE .

En fonction de pages d’aide Ubunt , la variable LC_COLLATE détermine "le mode de tri alphabétique des chaînes (noms de fichiers ...). En utilisant les paramètres régionaux" C "ou" POSIX "ici résulte dans un ordre de tri de type strcmp (), qui peut être préférable aux paramètres régionaux spécifiques à la langue. "

L'ordre de tri devra être changé de LC_COLLATE="en_US.UTF-8" à LC_COLLATE=C.

À partir de la ligne de commande (Ctrl+Alt+t), entrer:

update-locale LC_COLLATE=C

Important: Vous devez vous déconnecter de votre système, puis vous reconnecter pour que les modifications prennent effet .

Si vous exécutez à nouveau la commande localename__, la variable LC_COLLATE a bien été modifiée. L'exécution de la commande ls -l à nouveau devrait refléter ce changement.

16
Kevin Bowen

caja (et je pense que Nautilus auparavant) a une option dans Préférences pour trier les dossiers avant les fichiers. Cela aiderait-il?

1
desconocido