Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/12/2015, à 21: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, à 21: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, à 21: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, à 10:42)

Hors ligne

#3 Le 15/12/2015, à 01: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é. smile:)

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, à 09:22

Hizoka

Re : Faire un variable texte avec résultat d'une commande unoconv

pinguouinux a écrit :

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

tongue

Si c'est bon, ajoute un [resolu] dans le titre du topic.

Dernière modification par Hizoka (Le 15/12/2015, à 09:22)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#5 Le 15/12/2015, à 09:56

pingouinux

Re : Faire un variable texte avec résultat d'une commande unoconv

cristobal78 #1 a écrit :
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).

Hizoka #4 a écrit :

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, à 10:09)

Hors ligne