Exécuter un programme sur le résultat d'une commande

Résolu
Salut,

afin de ne pas devoir ouvrir le dossier de manière graphique (à cause de mon vieux pc) pour regarder les photos d'un jour donné, je lance la commande suivante, par exemple pour 18 octobre :
ls -larth "/media/photos/" | grep -i "oct 18.*.jpg" | head -n1 | awk '{print $9}' 
Qui me donne le nom du fichier sur une ligne, par exemple :
DSC_2919.jpg

Je souhaite ouvrir ce fichier avec eog. Mais pour l'instant je suis obligé de lancer une seconde commande :
eog /media/photos/DSC_2919.jpg


J'aimerai bien le faire en une seule commande, c'est-à-dire en rajoutant un pipe ou je sais pas trop quoi à la fin de la première commande... J'ai essayé de rajouter ça : -exec eog {} \;

mais ça me plante la console...

Merci !
--
"Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement." -A. Einsten-

2 réponses

  1. Contributeur
    Salut,

    eog /media/photos/$(ls -lrt "/media/photos/" | grep -i "oct 18.*.jpg" | head -n1 | awk '{print $9}')
    1
    1. Fonctionne nickel merci !
      0
  2. bonjour,

    grrr
    eog "$(stat -c '%x@@%n' /media/photo/* |\
    awk -F'@@' '{split($1,a,"[[:blank:]]");if(a[1] ~ "10-18$")print $2;exit}')"
    display est peut-être plus léger que eog.
    0
    1. Pas testé, mais je ne vois nul part la date du jour comme écrite ci-dessus dans ta commande ?!
      0