#1 Le 07/02/2021, à 00:03
- anthromon
Problème avec un script pour convertir des pdf en jpeg
Bonjour, j'essaie de faire un script pour convertir les PDF en JPEG.
Le script fonctionne si on ouvre le terminal dans le dossier où se trouvent les PDF et le script aussi mais j'aimerais que le script fonctionne avec le chemin absolu pour pouvoir simplement lancer le script dans le dossier où se trouvent les PDF.
J'ai essayé énormément de choses (par exemple le topic ci-dessous) mais rien na fonctionner, je dois mal m'y prendre...
https://forum.ubuntu-fr.org/viewtopic.php?id=142862
database=$(find *.pdf)
# modification de l'IFS pour qu'il passe en saut de ligne
old_IFS=${IFS} IFS=$'\n'
# boucle utilisant la variable database
for db in ${database}
do
mkdir -p "Nouveau dossier/${db::-4}"
pdftoppm -jpeg ${db} "Nouveau dossier/${db::-4}/"
done
Hors ligne
#2 Le 07/02/2021, à 00:50
- Watael
Re : Problème avec un script pour convertir des pdf en jpeg
les accolades ne servent à rien lors d'un seul/simple Développement de Paramètres (sans substitution).
la modification de l'IFS ne sert à rien.
la boucle for ne sert à rien.
dans find, il faut protéger l'astérisque, et on ne fait pas comme ça : find attend d'abord un chemin.
le parcours de la liste de fichiers retournée par find se fait ainsi :
find ./ -type f -name '*.pdf' -print0 | while IFS='' read -rd '' nomFic; do : whatever with "$nomFic"; done
ou
while IFS='' read -rd '' nomFic; do : whatever with "$nomFic"; done < <(find ./ -type f -name '*.pdf')
Pourquoi ${db::-4} ?
quand cela sera fait, on y verra plus clair.
Dernière modification par Watael (Le 07/02/2021, à 00:53)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne