Est-il possible d'afficher cette sortie triée avec titlepage_1.pdf avant titlepage_19.pdf?
$ ls
allTitlepage.pdf titlepage_12.pdf titlepage_19.tex titlepage_26.pdf titlepage_32.tex titlepage_4.tex
allTitlepage.tex titlepage_12.tex titlepage_1.pdf titlepage_26.tex titlepage_33.pdf titlepage_5.pdf
assignment.pdf titlepage_13.pdf titlepage_1.tex titlepage_27.pdf titlepage_34.pdf titlepage_5.tex
assignment.tex titlepage_13.tex titlepage_20.pdf titlepage_27.tex titlepage_34.tex titlepage_6.pdf
graphicsAssignment2.pdf titlepage_14.pdf titlepage_20.tex titlepage_28.pdf titlepage_35.pdf titlepage_6.tex
graphicsAssignment2.tex titlepage_14.tex titlepage_21.pdf titlepage_28.tex titlepage_35.tex titlepage_7.pdf
README.md titlepage_15.pdf titlepage_21.tex titlepage_29.pdf titlepage_36.pdf titlepage_7.tex
thesisTitlepage.pdf titlepage_15.tex titlepage_22.pdf titlepage_29.tex titlepage_36.tex titlepage_8.pdf
thesisTitlepage.tex titlepage_16.pdf titlepage_22.tex titlepage_2.pdf titlepage_37.pdf titlepage_8.tex
titlepage_0.pdf titlepage_16.tex titlepage_23.pdf titlepage_2.tex titlepage_37.tex titlepage_9.pdf
titlepage_0.tex titlepage_17.pdf titlepage_23.tex titlepage_30.pdf titlepage_38.pdf titlepage_9.tex
titlepage_10.pdf titlepage_17.tex titlepage_24.pdf titlepage_30.tex titlepage_38.tex titlepage_one.pdf
titlepage_10.tex titlepage_18.pdf titlepage_24.tex titlepage_31.pdf titlepage_3.pdf titlepage_one.tex
titlepage_11.pdf titlepage_18.tex titlepage_25.pdf titlepage_31.tex titlepage_3.tex titlepage_two.tex
titlepage_11.tex titlepage_19.pdf titlepage_25.tex titlepage_32.pdf titlepage_4.pdf
Utilisez le commutateur -v [sorte naturelle des nombres (version) dans le texte]
ls -v
La sortie est triée. Selon la page de manuel ls
:
Triez les entrées par ordre alphabétique si ni -cftuvSUX ni --sort n’est spécifié.
Mais si vous voulez aller plus loin, vous avez au moins deux options:
Option 1 - Les commutateurs de tri ls
man ls
vous indique un certain nombre de commutateurs que vous pouvez utiliser pour trier, en particulier, le page de manuel de ls dit:
aucune (-U), taille (-S), heure (-t), version (-v), extension (-X)
Dans votre cas, vous voulez "version" trier (-v). Soyez prudent, car cela triera également tout ce qui a un arrangement blahblah-X.Y.Z-A
qui peut ne pas être tout à fait ce que vous voulez. Voir aussi explication de GNU sur le tri de version .
Option 2 - Pipes pour les commandes de tri
Vous pouvez utiliser un tube |
pour envoyer le résultat à une autre commande, par exemple la commande sort
que vous pouvez utiliser pour trier de nombreuses autres manières. , comme dans ls -1 | sort -n
qui est utile si vous avez des fichiers numérotés. Le commutateur -1
garantit que la sortie est une ligne par fichier.
De même, vous pouvez manipuler la sortie pour faciliter le tri en utilisant des éléments tels que sed
ou awk
.
Il y a beaucoup de façons de répondre à ce genre de question. Vous pouvez trouver un tutoriel sur le shell Linux utile.
* (Voir ce que j'ai fait là-bas? :-P)
Comme indiqué dans un commentaire, le résultat est déjà trié, mais par caractères et non par nombres. Vous voudrez peut-être diriger la sortie de ls
à sort
qui contient un commutateur permettant de trier par numéros dans des chaînes:
ls | sort --version-sort
De la page de manuel :
-V, --version-sort natural sort of (version) numbers within text
Inconvénient: Lorsque nous émettons ls
, les fichiers sont ensuite affichés dans une table avec autant de colonnes que nécessaire. sur l'écran actuel (comme vous l'avez montré dans votre message). Mais lorsque ls
remarque que sa sortie est redirigée vers un fichier ou un tuyau (comme dans ls | sort
), ls
imprime les fichiers dans la colonne car , car il part du principe que la sortie est être traité ligne par ligne (ou fichier par fichier) par un autre programme (comme sort
). Ainsi, la sortie de ls | sort -V
sera dans une colonne plutôt que dans une table à plusieurs colonnes. Voir @ vijay est simple mais réponse parfaite pour savoir comment l'éviter.