Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Réservez vos DVD et clé USB Ubuntu-fr (premières livraisons mi-mai)

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

M.A.J. en cours du forum possibilité de bug, nous faisons le maximum pour les résoudre au plus vite

#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