#1 Le 08/02/2013, à 06:08
- roger64
[résolu] Script EPUB-Check n'écrit pas les erreurs
Bonjour
J'ai un script qui marche à moitié. C'est une vérification EPUB-check qui s'exécute d'ordinaire à la suite d'une commande sur un terminal comme:
java -jar epubcheck-3.0.jar file.epub
Selon le manuel: "All detected errors are simply printed to stderr."
Je voudrais pouvoir le lancer à partir d'un script et obtenir le CR écrit sur un fichier txt.
Voici le script (il vous faudra modifier le chemin):
#!/bin/bash
name=$(zenity --entry --title "Nom EPUB" --text "Nom de votre EPUB" --entry-text=Nom?)
echo "name=$name"
java -jar /home/roger/Téléchargements/Non_installés/epubcheck-3.0/epubcheck-3.0.jar "${name}".epub | tee -i "${name}".txt
echo "Terminé"
zenity --info --text "Terminé"
Voici ce qui se passe quand je le lance:
- Si l'EPUB est correct, j'obtiens le CR txt sous la forme:
Epubcheck Version 3.0
Validating against EPUB version 2.0
No errors or warnings detected.
- S'il y a des erreurs, je n'obtiens que les deux premières lignes et les erreurs (stderr) ne sont pas écrites.
Est-il possible de modifier le script de façon à ce qu'elles le soient?
Voici un lien avec deux EPUB que j'ai déjà publiés.
L'un (Services de nuit) contient des erreurs. L'autre non.
http://dl.dropbox.com/u/31141350/EPUBCheck.zip
Ah, j'oubliais: http://code.google.com/p/epubcheck/downloads/list
Dernière modification par roger64 (Le 08/02/2013, à 09:38)
Hors ligne
#2 Le 08/02/2013, à 06:48
- nesthib
Re : [résolu] Script EPUB-Check n'écrit pas les erreurs
Tu ne détailles pas comment tu fais ta redirection vers ton fichier, mais si tu utilises « >fichier », seule la sortie standard (stdout) sera inscrite. Pour la sortie d'erreur (stderr) il faut utiliser « 2>fichier », et pour combiner les deux « &>fichier » (ou « >fichier 2>&1 »).
En résumé avec la commande suivante tu devrais tout obtenir :
java -jar epubcheck-3.0.jar file.epub &>fichier
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#3 Le 08/02/2013, à 09:36
- roger64
Re : [résolu] Script EPUB-Check n'écrit pas les erreurs
Merci beaucoup. Résolu. J'ai appris encore quelque chose de très utile.
Epubcheck Version 3.0
Validating against EPUB version 2.0
ERROR: Services de nuit.epub/OEBPS/content.opf(92,82): File listed in reference element in guide was not declared in OPF manifest: OEBPS/Text/chapter1.xhtml
ERROR: Services de nuit.epub/OEBPS/content.opf(93,75): File listed in reference element in guide was not declared in OPF manifest: OEBPS/Text/chapter1.xhtml#toc0
ERROR: Services de nuit.epub/OEBPS/content.opf(92,82): 'OEBPS/Text/chapter1.xhtml': referenced resource missing in the package.
ERROR: Services de nuit.epub/OEBPS/content.opf(93,75): 'OEBPS/Text/chapter1.xhtml': referenced resource missing in the package.
Check finished with warnings or errors
En l'occurrence, j'avais fait un effort d'imagination inhabituel et au lieu d'utiliser >fichier, dans le texte du script donné plus haut, j'utilisais | tee -i fichier. Mais comme ta solution fonctionne parfaitement, pas besoin de chercher midi à quatorze heures.
Dernière modification par roger64 (Le 08/02/2013, à 09:38)
Hors ligne
#4 Le 08/02/2013, à 16:04
- nesthib
Re : [résolu] Script EPUB-Check n'écrit pas les erreurs
… 2>&1 | tee …
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne