170 votes

Les 'ls' d'Unix sont triés par nom

Pouvez-vous trier une annonce ls par nom ?

149voto

Evert Points 17625

Mes ls sont triés par nom par défaut. Qu'est-ce que tu vois ?

man ls déclare :

List information about the FILEs (the current directory by default). Sort entries alpha‐betically if none of -cftuvSUX nor --sort is specified. :

146voto

Mark Points 453

Pour quelque chose de simple, vous pouvez combiner ls avec sort. Pour seulement une liste de noms de fichiers :

ls -1 | sort

Pour les trier dans l'ordre inverse :

ls -1 | sort -r

51voto

Richard Smith Points 3935

ls de coreutils effectue un tri par défaut conscient des paramètres régionaux, et peut donc produire des résultats surprenants dans certains cas (par exemple, %foo triera entre bar et quux dans LANG=en_US). Si vous voulez un tri ASCIIbetical, utilisez

LANG=C ls

17voto

poney Points 161

Les fichiers qui ne sont différents que par une chaîne numérique peuvent être triés sur ce nombre à condition qu'il soit précédé d'un séparateur.

Dans ce cas, la syntaxe suivante peut être utilisée :

ls -x1 file | sort -t'<char>' -n -k2

Exemple :

ls -1 TRA*log | sort -t'_' -n -k2

TRACE_1.log
TRACE_2.log
TRACE_3.log
TRACE_4.log
TRACE_5.log
TRACE_6.log
TRACE_7.log
TRACE_8.log
TRACE_9.log
TRACE_10.log

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X