Si je ne me trompe pas, le shell représente la sortie de lsdans plusieurs colonnes, mais la sortie de lsest redirigée vers la commande suivante avec 1 fichier / répertoire à la fois
Alex
cela semble être le cas. Belle simplification.
Paul Rubel
3
Cela ignore le total au sommet:ls -1t | head -n 6 | tail -n 5
Ryan
1
Je ne vois pas de total, mais s'il y en a un qui fonctionnerait certainement.
Paul Rubel
18
La réponse acceptée répertorie uniquement les noms de fichiers, mais pour obtenir les 5 premiers fichiers, vous pouvez également utiliser:
ls -lht | head -6
où:
-l sorties dans un format de liste
-h rend la sortie lisible par l'homme (c'est-à-dire que la taille des fichiers apparaît en Ko, Mo, etc.)
-t trie la sortie en plaçant le fichier le plus récemment modifié en premier
head -6affichera 5 fichiers car lsimprime la taille du bloc dans la première ligne de sortie.
Je pense que c'est une approche légèrement plus élégante et peut-être plus utile.
Exemple de sortie:
total 26960312
-rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py
-rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf
-rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf
-rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf
-rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
Cela donne les 5 plus anciens. Vous devez inverser le tri ( ls -tr) ou utiliser headplutôt que tail, pour obtenir les 5 plus récents.
Headbank le
2
Par défaut, ls -ttrie la sortie de la plus récente à la plus ancienne, de sorte que la combinaison de commandes à utiliser dépend de la direction dans laquelle vous voulez que votre sortie soit ordonnée.
Pour les 5 derniers fichiers classés du plus récent au plus ancien, utilisez headpour prendre les 5 premières lignes de sortie:
ls -t | head -n 5
Pour les 5 derniers fichiers classés du plus ancien au plus récent, utilisez le -rcommutateur pour inverser lsl'ordre de tri de et utilisez tailpour prendre les 5 dernières lignes de sortie:
ls -tliste les fichiers par heure de création, pas de dernière modification À utiliser ls -ltcsi vous souhaitez répertorier les fichiers par date de dernière modification, du dernier au premier (de haut en bas). Ainsi pour lister les n derniers:ls -ltc | head ${n}
De quelle plateforme / version parlez-vous? Pouvez-vous fournir un lien? Regarder la page de manuel de Linux donne le contraire de ce que vous déclarez: -t sort by modification time, newest first
ls -lrt
pourrait aider quelqu'un.tharl
car il a tendance à avoir tout ce dont j'ai besoin.Réponses:
Essayez d'utiliser la tête ou la queue. Si vous voulez les 5 derniers fichiers modifiés:
Le -1 (c'est un un) indique un fichier par ligne et la tête dit de prendre les 5 premières entrées.
Si vous voulez les 5 derniers essais
la source
ls
dans plusieurs colonnes, mais la sortie dels
est redirigée vers la commande suivante avec 1 fichier / répertoire à la foisls -1t | head -n 6 | tail -n 5
La réponse acceptée répertorie uniquement les noms de fichiers, mais pour obtenir les 5 premiers fichiers, vous pouvez également utiliser:
ls -lht | head -6
où:
-l
sorties dans un format de liste-h
rend la sortie lisible par l'homme (c'est-à-dire que la taille des fichiers apparaît en Ko, Mo, etc.)-t
trie la sortie en plaçant le fichier le plus récemment modifié en premierhead -6
affichera 5 fichiers carls
imprime la taille du bloc dans la première ligne de sortie.Je pense que c'est une approche légèrement plus élégante et peut-être plus utile.
Exemple de sortie:
total 26960312 -rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py -rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf -rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf -rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf -rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
la source
Utilisez la
tail
commande:la source
ls -tr
) ou utiliserhead
plutôt quetail
, pour obtenir les 5 plus récents.Par défaut,
ls -t
trie la sortie de la plus récente à la plus ancienne, de sorte que la combinaison de commandes à utiliser dépend de la direction dans laquelle vous voulez que votre sortie soit ordonnée.Pour les 5 derniers fichiers classés du plus récent au plus ancien, utilisez
head
pour prendre les 5 premières lignes de sortie:Pour les 5 derniers fichiers classés du plus ancien au plus récent, utilisez le
-r
commutateur pour inverserls
l'ordre de tri de et utiliseztail
pour prendre les 5 dernières lignes de sortie:la source
ls -t
liste les fichiers par heure de création, pas de dernière modification À utiliserls -ltc
si vous souhaitez répertorier les fichiers par date de dernière modification, du dernier au premier (de haut en bas). Ainsi pour lister les n derniers:ls -ltc | head ${n}
la source
-t sort by modification time, newest first