2012-05-09 10 views
28

Estoy usando ls -l -t para obtener una lista de archivos en un directorio ordenado por tiempo.primeros dos resultados del comando ls

Me gustaría limitar el resultado de la búsqueda a los 2 primeros archivos de la lista.
¿Esto es posible?
Lo he intentado con grep y luché.

+0

y si ahora quiero abrir ese archivo? – jntme

Respuesta

46

Puede canalizar en head:

ls -l -t | head -3 

le dará los mejores 3 líneas (2 archivos y total).

Esto sólo te dará las 2 primeras líneas de archivos, saltándose la línea Tamaño:

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

tail tiras de la primera línea, a continuación, head da salida a los próximos 2 líneas.

1

Puede utilizar el comando head para agarrar solamente las dos primeras líneas de salida:

ls -l -t | head -2 
+0

Esto no le dará los 2 primeros archivos, sino que proporcionará el tamaño de la lista más el primer archivo de la lista. – dag

0

Usted tiene que canalizar a través de la cabeza.

ls -l -t | cabeza -n 3

salida voluntad los dos primeros resultados.

6

de evitar el trato con la línea de salida superior se puede revertir el tipo y obtener las dos últimas líneas

ls -ltr | tail -2 

Esto es bastante seguro, pero dependiendo de lo que va a hacer con esas dos entradas del archivo después de encontrar ellos, debe leer Parsing ls sobre los problemas con el uso de ls para obtener información de archivos y archivos.

0

O usted podría intentar simplemente esta

ls -1 -t | head -2 

La -1 modificador omite la línea del título.

Cuestiones relacionadas