2012-05-09 14 views
28

Sto utilizzando ls -l -t per ottenere un elenco di file in una directory ordinata per ora.primi due risultati dal comando ls

Vorrei limitare il risultato della ricerca ai primi 2 file nell'elenco.
È possibile?
Ho provato con grep e ho faticato.

+0

e se ora voglio aprire quel file? – jntme

risposta

46

È possibile reindirizzare in head:

ls -l -t | head -3 

vi darà primi 3 linee (2 file e il totale).

Questo sarà solo darvi le prime 2 righe del file, senza fare la fila dimensioni:

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

tail strisce la prima linea, poi head uscite dei prossimi 2 linee.

1

È possibile utilizzare il comando head per afferrare solo le prime due righe dell'output:

ls -l -t | head -2 
+0

Questo non ti darà i primi 2 file, fornirà la dimensione della lista più il primo file elencato. – dag

0

devi tubo attraverso la testa.

ls -l -t | head -n 3

emetterà i primi due risultati.

6

per evitare di trattare con la linea di uscita superiore è possibile invertire il tipo e ottenere le ultime due righe

ls -ltr | tail -2 

Questo è abbastanza sicuro, ma a seconda che cosa potete fare con queste due voci di file dopo aver trovato loro, si dovrebbe leggere Parsing ls sui problemi con l'utilizzo di ls per ottenere file e informazioni sui file.

0

Oppure si potrebbe provare proprio questo

ls -1 -t | head -2 

La -1 interruttore salta la riga del titolo.

Problemi correlati