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 -1
dicecolapara 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 head
y detenerse después del primero, en lugar de haber tail
repasado 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), ls
los reemplazará por ?
, por lo que esto no funcionará.