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?Je pense que la réponse complète est plutôt une combinaison de ce qui précède.
-X (later --sort=extension)
est supporté sous Linux depuis au moins FC3 et sera trié en fonction de l'extension. --group-directories-first
a été ajouté plus récemment (peut-être autour de FC8 ?). Cependant, la combinaison des deux ne semble pas fonctionner (du moins sur FC8).
Le principal problème semble être l'utilisation de clés de tri primaires singulières. Voir ce qui suit discussion sur la liste de diffusion pour y voir plus clair.
Sous bash, cela fonctionnera en quelque sorte :
$ ls | rev | sort | rev
De man rev
:
The rev utility copies the specified files to the standard output,
reversing the order of characters in every line. If no files are speci-
fied, the standard input is read.
Alors 1. ls donne sa sortie, avec les drapeaux que vous voulez 2. chaque ligne est inversée 3. puis elles sont triées 4. et inversées à nouveau 5. comme ceci :
- comme ça :
- chaque ligne est inversée
- puis ils sont triés
- et inversé à nouveau Donc
- ls donne sa sortie, avec les drapeaux que vous voulez.
Ou, plus précisément, comme ci-dessous. Ils sont triés par dernier caractère, puis par avant-dernier, etc. Tous les fichiers .rtf, par exemple, sont listés ensemble, après un fichier .save et un autre fichier sans extension dont le nom se termine par 'e'. Viennent ensuite les fichiers .png, et ainsi de suite. Cela fonctionnera également avec ls -l, car l'extension est normalement la dernière chose sur la ligne (sauf si vous avez des lignes comme "tmp@ -> /home/jones/tmp", où les liens sont suivis de leurs cibles).
$ ls | rev|sort|rev
cslu1
ls.mp2
ls.mp3
ls.mp4
trees\_110214-15
PAT
CSLU
Proxy Form.doc
finannbyid
toannbyid
101209ssi.txt.save
to\_annotate\_size
Matas-time-by-week-integration2.rtf
cyp3.rtf
data-dir-scan.perl.doc.rtf
whence-r21-numid.rtf
platypus.rtf
Screen shot 2011-01-21 at 2.17.50 PM.png
emacs print help.png
log
new\_month\_log
special
Google-ngram-critique.html
perl\_path.html
nl
DWE\_BEN\_89808.2.ann
foo
d.o.foo
100811\_from\_iMac\_Documents\_in\_dock.zip
to-palikir.zip
tmp
file-cleanup
bar
data-scan-docs
cmp-mg-ann-numids
finished\_numids
to\_annotate\_numids
manls.ps
Mike\_address\_ticket
cyp2.out
cyp3.out
locate-cyp.out
manls.out
DWE\_BEN\_89808.2.text
tag2.txt
l2.txt
du-h-d3.txt
finished\_ann\_numids\_110407\_1714.txt
finished\_all\_numids\_110407\_1718.txt
data-dir-scan.perl.doc.txt
whence-r21-numid.txt
finannid.txt
toannid.txt
b9-workspace-anndiff.txt
tag.txt
duh.txt
d.o-mail.txt
safextn.txt
mg3longhdr.txt
finished\_numids.txt
41692-langnames.txt
TimeAnnotationGuidelines.txt
41langs.txt
thing4-homedir-links.txt
bnlinks.txt
grants.txt
mata-file-reports.txt
logx.txt
logx
b9-workspace-anndiff.txt~
bnlinks.txt~
- Réponses précédentes
- Plus de réponses