2 votes

Trier les fichiers dans le terminal comme dans le finder

Est-il possible dans la ligne de commande d'avoir le même ordre de tri pour les fichiers/dossiers que Finder. Si je lance find . -type d J'obtiens le résultat suivant :

./Folder 1
./Folder 10
./Folder 11
./Folder 2
./Folder 3
...

J'ai essayé find -s . -type d et a également ajouté quelques sort options. Il n'y a pas de chance.

Ce que je veux, c'est ceci :

./Folder 1
./Folder 2
./Folder 3
...
./Folder 10
./Folder 11

2voto

Douglas Points 10417

Si vous regardez ce que find sur le tri :

 -s   Cause find to traverse the file hierarchies in 
lexicographical order, i.e., alphabetical order within each directory.  
Note: \`find -s\` and \`find | sort\` may give different results.

Cela signifie que nous devons l'acheminer vers sort afin que nous puissions le manipuler un peu plus.

Comme vous l'avez déjà vu, un simple tri alphanumérique ne fonctionnera pas parce qu'il compare tout en tant que caractère ANSI et non en tant que nombre. Ce que nous devons faire, c'est comparer les nombres. Nous pouvons le faire avec la fonction -k option de sort

find . -type d | sort -k2.3

Quel est le sort -k2.3 effectue un tri sur le deuxième champ (délimité par l'espace) jusqu'à la troisième position. Voici le résultat en utilisant votre convention de dénomination des dossiers 1 :

.
./Folder 1
./Folder 2
./Folder 3
./Folder 4
./Folder 5
./Folder 6
./Folder 7
./Folder 8
./Folder 9
./Folder 10
./Folder 11
./Folder 12
./Folder 13
./Folder 14
./Folder 15

1 Pour créer cette structure de dossiers, j'ai utilisé la commande dans mon dossier personnel :

mkdir test; cd test; for n in {1..15}; do mkdir "Folder $n"; done

0voto

Shinko Cheng Points 91

Peut aussi faire

ls -v

qui trie les fichiers par numéro de version dans l'ordre naturel des noms.

De man ls

-v     natural sort of (version) numbers within text

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X