#1 Le 14/12/2015, à 20:11
- cristobal78
Faire un variable texte avec résultat d'une commande unoconv
Bonsoir à tous,
Je sais convertir un fichier odt, jpg, etc ... en pdf grace à la géniale commande :
unoconv -f pdf fichiertoto.jpg
(je sais que le paramètre pdf est facultatif)
Le résultat obtenu est un fichier appelé fichiertoto.pdf
Ce que je n'arrive pas à faire c'est obtenir une variable contenant le nom du fichier pdf.
J'ai essayé ceci
var=$(unoconv -f pdf fichiertoto.jpg)
mais la variable "var" reste désespérément vide alors que j'espérais que
echo $var
me réponde : fichiertoto.pdf
Quelqu'un peut il m'expliquer pourquoi ?
Dernière modification par cristobal78 (Le 14/12/2015, à 20:13)
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#2 Le 14/12/2015, à 20:24
- pingouinux
Re : Faire un variable texte avec résultat d'une commande unoconv
Bonsoir,
$ var1=fichiertoto.jpg
$ var2=${var1%.*}.pdf
$ echo "$var2"
fichiertoto.pdf
Ajouté :
Autre méthode, si la chaîne .jpg n'apparaît pas avant la fin dans le nom du fichier
$ var2=${var1/.jpg/.pdf}
$ echo "$var2"
fichiertoto.pdf
Édité : La méthode proposée par Hizoka en #4 est préférable à cette dernière, car plus générale
Dernière modification par pingouinux (Le 15/12/2015, à 09:42)
Hors ligne
#3 Le 15/12/2015, à 00:36
- cristobal78
Re : Faire un variable texte avec résultat d'une commande unoconv
Merci pingouinux
j'ai essayé en modifiant pour mes besoins les var1 et var2 que tu proposes et ça marche.
Donc le pb que j'avais dans mon script est réglé. :)
Cela dit j'aurais bien aimé que tu m'expliques pourquoi il semble impossible d'affecter le résultat de la cde "unocov" à une variable comme je le fais, par exemple, avec le résultat de la commande "ls" :
liste_fichiers_du_dossier=$(ls)
echo $liste_fichiers_du_dossier
donne bien la liste des fichiers du dossier.
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#4 Le 15/12/2015, à 08:22
- Hizoka
Re : Faire un variable texte avec résultat d'une commande unoconv
Autre méthode, si la chaîne .jpg n'apparaît pas avant la fin dans le nom du fichier
Bah alors pingoiunux ?
var1=fichier.jpgtoto.jpg
var2=${var1/%.jpg/.pdf}
echo "$var2"
fichier.jpgtoto.pdf
Si c'est bon, ajoute un [resolu] dans le titre du topic.
Dernière modification par Hizoka (Le 15/12/2015, à 08:22)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 15/12/2015, à 08:56
- pingouinux
Re : Faire un variable texte avec résultat d'une commande unoconv
var=$(unoconv -f pdf fichiertoto.jpg)
mais la variable "var" reste désespérément vide
Tu récupères dans var la sortie standard de la commande unoconv, qui est certainement vide d'après le résultat que tu obtiens (je ne connais pas cette commande).
Bah alors pingoiunux ?
Tu as raison, parce qu'on part de la fin. Merci pour ta remarque.
Dernière modification par pingouinux (Le 15/12/2015, à 09:09)
Hors ligne