2012-05-09 8 views
28

Ich verwende ls -l -t, um eine Liste von Dateien in einem nach Uhrzeit sortierten Verzeichnis zu erhalten.erste zwei Ergebnisse von ls Befehl

Ich möchte das Suchergebnis auf die Top 2 Dateien in der Liste beschränken.
Ist das möglich?
Ich habe es mit Grep versucht und ich hatte Probleme.

+0

und wenn ich jetzt diese eine Datei öffnen möchte? – jntme

Antwort

46

Sie können über die Pipeline es in head:

ls -l -t | head -3 

Werden Sie Top 3 Zeilen geben (2 Dateien und die Gesamt). geben Sie

Dies wird nur die ersten zwei Zeilen von Dateien, das Überspringen der Größe Zeile:

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

tail Streifen die erste Zeile, dann head gibt die nächsten 2 Zeilen.

1

Sie können den head Befehl nur die ersten beiden Zeilen der Ausgabe packen:

ls -l -t | head -2 
+0

Dies gibt Ihnen nicht die Top-2-Dateien, es wird die Größe des Eintrags plus die erste Datei aufgeführt. – dag

0

Sie müssen Rohr durch den Kopf.

ls -l-t | Kopf -n 3

werden die zwei ersten Ergebnisse ausgeben.

6

Um zu vermeiden, mit der oberen Ausgangsleitung Umgang Sie die Sortier rückgängig machen kann und die letzten beiden Zeilen

ls -ltr | tail -2 

Das ist ziemlich sicher, aber je nachdem, was Sie mit diesen beiden Dateieinträge tun, nachdem Sie finden Sie sollten Parsing ls über die Probleme mit der Verwendung von ls lesen, um Dateien und Dateiinformationen zu erhalten.

0

Oder Sie könnten nur diese

ls -1 -t | head -2 

Der -1 Schalter überspringt die Titelzeile versuchen.