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 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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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. tongue

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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne