#1 Le 18/11/2008, à 19:40
- Кຼزດ
script de conversion récursive ?[presque résolu ^^]
Bonjour,
je dispose d'une collection assez conséquente de livres au format pdf, que je voudrais convertir en .txt pour permettre à mon mp3 de les lire.
Donc, si quelqu'un accepte de m'aider, j'aimerais :
- pouvoir changer de dossier un par un, automatiquement
-éviter d'avoir l'extension .pdf.txt à la fin du fichier
je précise que je ne sais pas me servir de find, qui, je crois, pourrait être pratique dans mon cas .
j'ai commencé un truc du genre :
#!/bin/bash
cd "/home/mathieui/Documents/E-books/"
for filename in *.pdf
do
pdftotext "${filename}" "${filename}.txt"
done
exit 0
mais je sais pas trop, donc si quelqu'un peut m'aider....
Dernière modification par mathieuI (Le 19/11/2008, à 14:22)
dou
Hors ligne
#2 Le 18/11/2008, à 20:54
- Respawner
Re : script de conversion récursive ?[presque résolu ^^]
L'idée c'est ça, j'ai pas eu le temps de tester. Mais ça peut peut-être t'aider.
#!/bin/bash
pdf2text() {
for filename in $1/*; do
if [ -d ${filename} ]; then
# echo "Entree dans ${filename}"
pdf2text ${filename}
elif [ "application/pdf" = `file ${filename} -b --mime-type` ]; then
echo "Convertion de ${filename}"
pdftotext "${filename}" "${filename%pdf}txt"
fi
done
}
pdf2text $1
exit 0
Edit: Ca a l'air de fonctionner ;-)
Dernière modification par Respawner (Le 18/11/2008, à 21:18)
Hors ligne
#3 Le 18/11/2008, à 21:14
- Кຼزດ
Re : script de conversion récursive ?[presque résolu ^^]
./pdf.sh: line 14: [: trop d'arguments
, mais sinon ça m'a l'air d'être presque ça
dou
Hors ligne
#4 Le 18/11/2008, à 21:16
- Respawner
Re : script de conversion récursive ?[presque résolu ^^]
Hop matte plus haut j'ai corrigé ^^
Hors ligne
#5 Le 18/11/2008, à 21:29
- Кຼزດ
Re : script de conversion récursive ?[presque résolu ^^]
./pdf.sh: line 8: [: trop d'arguments
désolé...
Mais sinon je place le script dans le dossier de mon choix, ou j'ajoute cd /répertoire/ au début ?
dou
Hors ligne
#6 Le 18/11/2008, à 21:44
- Respawner
Re : script de conversion récursive ?[presque résolu ^^]
La le script s'utile comme ceci => ./pdf.sh /le/repertoire/
#!/bin/bash
pdf2text() {
for filename in $1/*; do
if [ -d ${filename} ]; then
echo "Entree dans ${filename}"
pdf2text ${filename}
elif [ "application/pdf" = `file ${filename} -b --mime-type` ]; then
echo "Convertion de ${filename}"
pdftotext "${filename}" "${filename%pdf}txt"
sleep 2
fi
done
}
pdf2text $1
exit 0
Je te refile le code avec les messages de debug que j'ai utilisé (chez moi ça fonctionne).
Hors ligne
#7 Le 18/11/2008, à 21:54
- Кຼزດ
Re : script de conversion récursive ?[presque résolu ^^]
encore une fois :
./pdf.sh ~/Documents/E-books
Entree dans /home/mathieui/Documents/E-books//Feist
./pdf.sh: line 5: [: trop d'arguments
C'est peut-être à cause de la taille du nom des fichiers : exemple :
/home/mathieui/Documents/E-books/Feist/Feist, Raymond E - Legends Of The Riftwar 01 - Honoured Enemy.pdf
dou
Hors ligne
#8 Le 18/11/2008, à 22:12
- Alain.g
Re : script de conversion récursive ?[presque résolu ^^]
Bonsoir
avec find
#!/bin/bash
find '/home/mathieui/Documents/E-books' -iname '*.pdf' | while read -r i
do
[ -f "${i%.*}.txt" ] || pdftotext "${i}" "${i%.*}.txt"
done
Dernière modification par Alain.g (Le 18/11/2008, à 22:21)
Xubuntu Karmic !
Hors ligne
#9 Le 19/11/2008, à 10:02
- alexduf
Re : script de conversion récursive ?[presque résolu ^^]
en fait le "trop peu d'argument" vient certainement de ça :
if [ -d ${filename} ]; then
à corriger en ça :
if [ -d "${filename}" ]; then
Hors ligne
#10 Le 19/11/2008, à 14:21
- Кຼزດ
Re : script de conversion récursive ?[presque résolu ^^]
La solution d'Alain.g marche, merci .
@alexduf : j'avais essayé aussi, il y avait plus de message d'erreur mais ça convertissait rien ....
Bon, je mets en résolu, mais si quelqu'un a une solution pour virer les caractères inconnus de la même manière (qui correspondent , je crois à des tabulations qui sont mal interprétées ) et le petit
Y
Y
Y
PD
F T ra n sf o
rm
Y
PD
F T ra n sf o
rm
er
er
ABB
ABB
y
bu
bu C lic k he re to
w
y
w.
A B B Y Y.c
2.0
2.0
C
lic
k
he
re
om
to
w
w.
A B B Y Y.c
om
w
w
qui correspond à une image implantée par un convertisseur pdf en ligne et qui est à chaque en-tête de page ?
Sinon ça marche
edit : Hs, mais personne connait un logiciel qui convertit les .lit ou .rtf en txt ?
Dernière modification par mathieuI (Le 19/11/2008, à 14:42)
dou
Hors ligne