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

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

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

Respuesta1

ls -rt | tail -1

los -1dicecolapara mostrar solo una línea si desea ser más claro, puede usar la opción larga en su lugar

ls -rt | tail --lines=1

Respuesta2

Lo que realmente desea es el primer archivo de una lista basada en el 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 usarlo heady detenerse después del primero, en lugar de haber tailrepasado la lista.

Respuesta3

Con zsh:

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

El calificador global (om)ordena las coincidencias por edad creciente (es decir, en orden anticronológico). El clasificatorio global ([1])selecciona solo el primer partido. Podrías 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 suele ocurrir si tiene nombres de archivos en un conjunto de caracteres diferente al de su configuración regional), lslos reemplazará por ?, por lo que esto no funcionará.

información relacionada