Original:
23 janv 2011 10:42 QUELQUE CHOSE 2007.12.20.avi 26 juin 2009 QUELQUE CHOSE 2009.06.25.avi 12 févr. 2010 QUELQUE CHOSE 2010.02.11.avi 29 janv 2011 09:17 QUELQUE CHOSE 2011.01.27.avi 11 févr.2011 20:06 QUELQUE CHOSE 2011.02.10.avi 27 févr.2011 23:05 QUELQUE CHOSE 2011.02.24.avi
Production:
27 févr.2011 23:05 QUELQUE CHOSE 2011.02.24.avi 11 févr.2011 20:06 QUELQUE CHOSE 2011.02.10.avi 29 janv 2011 09:17 QUELQUE CHOSE 2011.01.27.avi 23 janv 2011 10:42 QUELQUE CHOSE 2007.12.20.avi 12 févr. 2010 QUELQUE CHOSE 2010.02.11.avi 26 juin 2009 QUELQUE CHOSE 2009.06.25.avi
J'ai généré la liste ci-dessus (originale) avec:
ls -A -lR | grep "^-" | sed "s/.\{43\}/&\n/" | grep -v "^-" | while read ONELINE; do if echo $ONELINE | cut -d " " -f3 | grep -o '[0-9][0-9]:[0-9][0-9]' > /dev/null 2>&1; then echo $ONELINE | sed "s/.\{7\}/&$(date +%Y) /"; else echo $ONELINE; fi; done
Comment puis-je obtenir la sortie où le fichier le plus récent est en haut?
Réponses:
Sur la plupart des unités,
ls
a une-t
option. Depuis laman
page de ma boîte Debian:Essayez la commande suivante:
$ ls -lt
la source
Est-ce un fichier texte que vous essayez de trier, ou essayez-vous d'afficher une liste de répertoires par date? Pour ce dernier, utilisez le
-t
drapeau pourls
. Pour les premiers, voir en particulier le-M
drapeau à trier GNU, qui trie par abréviations de nom de mois à trois lettres. La commande suivante trie par les 3e, 1re, 2e et 4e colonnes, en traitant la deuxième clé de tri comme un nom de mois.Envisagez toujours d'utiliser des dates de style japonais / ISO, toujours dans l'ordre AAAA-MM-JJ-HH-MM-SS (c'est-à-dire la plus importante en premier, largeur de colonne constante). De cette façon, le tri par date est identique à un tri lexicographique.
la source
2018 5 26
fonctionne aussi bien que2018 05 26
(tant que vous ne passez pas par un balisage qui fusionne des espaces consécutifs…), ce qui ne fonctionne pas bien, c'est2018 5 26
.Je ne sais pas si la fonctionnalité était dans le
ls
commande lorsque la question d'origine a été posée, mais vous pouvez maintenant utiliser l'option--full-time
.par exemple,
triera avec le temps le plus ancien en bas; ou si vous utilisez:
alors il inversera l'ordre.
la source
-t
option répond complètement à cette question;--full-time
n'est pas vraiment pertinent.ls -t
ne vous donne pas non plus le mode et le propriétaire des fichiers, le nom d'hôte et la version du système d'exploitation, ni le prix du thé en Chine.ls -t
n'affiche même pas du tout la date de modification. Mais la question n'est pas d'afficher les informations sur les fichiers, mais de trier les fichiers par date de modification. Vous ne contribuez pas à la réponse à la question; vous ajoutez des informations supplémentaires intéressantes. Lorsque vous obtenez 50 points de réputation , vous pouvez publier ce type d'informations sous forme de commentaire .récursif (
R
) et pause (|more
)la source