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

Résolu
Swiss Knight Messages postés 1956 Date d'inscription   Statut Membre Dernière intervention   -  
Swiss Knight Messages postés 1956 Date d'inscription   Statut Membre Dernière intervention   -
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 !
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

eog /media/photos/$(ls -lrt "/media/photos/" | grep -i "oct 18.*.jpg" | head -n1 | awk '{print $9}')
1
Swiss Knight Messages postés 1956 Date d'inscription   Statut Membre Dernière intervention   110
 
Fonctionne nickel merci !
0
Utilisateur anonyme
 
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
Swiss Knight Messages postés 1956 Date d'inscription   Statut Membre Dernière intervention   110
 
Pas testé, mais je ne vois nul part la date du jour comme écrite ci-dessus dans ta commande ?!
0