Réponses:
Ce que vous voulez vraiment, c'est le premier fichier d'une liste temporelle non inversée.
ls -t | head -1
Le -r est pour les humains parce que nous voulons la dernière chose sur l'écran qui a défilé, plutôt que la première. Dans le cas où la machine le comprend, elle pourrait tout aussi bien utiliser head
et s'arrêter après la première, plutôt que d'avoir tail
parcouru la liste.
Avec zsh:
gnome-open *.jpg(om[1])
Le qualificatif glob (om)
trie les correspondances en augmentant l'âge (c'est-à-dire dans un ordre anti-chronologique). Le qualificatif glob ([1])
sélectionne uniquement la première correspondance. Vous pouvez utiliser *.jpg(om[1,4])
pour ouvrir les 4 fichiers les plus récents, etc.
Dans d'autres coquilles:
gnome-open "$(\ls -t *.jpg | head -1)"
mais sachez que si vous avez des caractères ou des octets non imprimables dans vos noms de fichiers (ce qui se produit généralement si vous avez des noms de fichiers dans un jeu de caractères différent de votre environnement local), ls
les remplacera par ?
, donc cela ne fonctionnera pas.
open
au lieu degnome-open