ls -rt (¿Cómo enumerar EL ÚLTIMO archivo? por ejemplo, para: | xargs gnome-open)


16

por ejemplo, directorio que contiene archivos jpeg: ¿cómo abrir fácilmente solo el jpeg más reciente en el directorio actual?

Respuestas:


19

ls -rt | tail -1

La cola-1 le dice que muestre solo una línea si desea ser más claro, puede usar la opción larga

ls -rt | tail --lines=1


44
Aún mejor es "ls -t | head -1". Mira mi comentario a continuación.
Andy Lester

20

Lo que realmente desea es el primer archivo de una lista basada en tiempo no invertida.

ls -t | head -1

El -r es para humanos porque queremos lo último en la pantalla que se ha desplazado, en lugar de lo primero. En el caso de que la máquina lo descubra, también podría usar heady detenerse después del primero, en lugar de haber tailrecorrido la lista.


3

Con zsh:

gnome-open *.jpg(om[1])

El calificador global clasifica (om)las coincidencias al aumentar la edad (es decir, en orden anti-cronológico). El calificador glob ([1])selecciona solo la primera coincidencia. Puede usar *.jpg(om[1,4])para abrir los 4 archivos más recientes, y así sucesivamente.

En otras conchas:

gnome-open "$(\ls -t *.jpg | head -1)"

pero tenga en cuenta que si tiene caracteres o bytes no imprimibles en los nombres de sus archivos (lo que generalmente ocurre si tiene nombres de archivos en un conjunto de caracteres diferente de su ubicación), lslos reemplazará por ?, por lo que esto no funcionará.


En mac, puede usar solo en openlugar degnome-open
Janac Meena
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.