Par défaut, la commande ls trie uniquement par nom de fichier, mais je veux que les répertoires apparaissent avant les autres types de fichiers. Je pourrais même vouloir que les fichiers soient triés par extension, comme l'explorateur Windows le fait par la colonne type. Existe-t-il un moyen de faire quelque chose de similaire avec ls ?
Réponses
Trop de publicités?
Rowan
Points
1133
Si vous n'êtes pas sous linux,
ls -l |sort -d -k 1.1,1.1r -k 9 |awk '{print $9}'
devrait trier les répertoires en premier (dites-moi si je me trompe). Il ne trie pas par extension, cependant : vous devez rendre l'instruction awk beaucoup plus chargée si vous voulez faire cela ...
Pour que cela fonctionne également avec les noms contenant des espaces, je remplacerais probablement l'awk par quelque chose comme sed -E -e 's/([^ ]+[ ]+){8}//'
pour éliminer les 8 premiers champs au lieu d'imprimer le 9e.
user192273
Points
11
PYK
Points
111
- Réponses précédentes
- Plus de réponses