Respostas:
O que você realmente deseja é o primeiro arquivo de uma lista baseada em tempo não revertida.
ls -t | head -1
O -r é para humanos, porque queremos a última coisa na tela que rolou, e não a primeira. No caso da máquina descobrir, ela também pode usar head
e parar após a primeira, em vez de tail
percorrer a lista.
Com zsh:
gnome-open *.jpg(om[1])
O qualificador glob classifica (om)
as partidas aumentando a idade (ou seja, em ordem anticronológica). O qualificador glob ([1])
seleciona apenas a primeira correspondência. Você pode usar *.jpg(om[1,4])
para abrir os 4 arquivos mais recentes e assim por diante.
Em outras conchas:
gnome-open "$(\ls -t *.jpg | head -1)"
mas lembre-se de que, se você tiver caracteres ou bytes não imprimíveis nos nomes dos arquivos (o que normalmente acontece se os nomes dos arquivos tiverem um conjunto de caracteres diferente do seu código de idioma), ls
eles serão substituídos por ?
, portanto, isso não funcionará.
open
vez degnome-open