web-dev-qa-db-fra.com

deux premiers résultats de la commande ls

J'utilise ls -l -t pour obtenir la liste des fichiers d'un répertoire classés par heure.

Je voudrais limiter le résultat de la recherche aux 2 premiers fichiers de la liste.
Est-ce possible?
J'ai essayé avec grep et j'ai eu du mal.

47
Fidel

Vous pouvez le diriger dans head:

ls -l -t | head -3

Vous donnera les 3 premières lignes (2 fichiers et le total).

Cela vous donnera juste les 2 premières lignes de fichiers, en sautant la ligne de taille:

ls -l -t | tail -n +2 | head -2

tail supprime la première ligne, puis head sort les 2 lignes suivantes.

74
dag

Pour éviter de traiter la ligne de sortie supérieure, vous pouvez inverser le tri et obtenir les deux dernières lignes

ls -ltr | tail -2

C'est assez sûr, mais en fonction de ce que vous ferez avec ces deux entrées de fichier après les avoir trouvées, vous devriez lire Parsing ls sur les problèmes d'utilisation de ls pour obtenir des fichiers et des fichiers information.

7
Stephen P

Vous pouvez utiliser la commande head pour saisir uniquement les deux premières lignes de sortie:

ls -l -t | head -2
2
larsks

Ou vous pouvez essayer juste ça

ls -1 -t | head -2

Le commutateur -1 saute la ligne de titre.

0
Saad Rehman Shah

Vous devez passer par la tête.

ls -l -t | tête -n 3

affichera les deux premiers résultats.