Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 08/02/2013, à 06:08

[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

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 les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#3 Le 08/02/2013, à 09:36

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

Re : [résolu] Script EPUB-Check n'écrit pas les erreurs

… 2>&1 | tee …

GUL les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

Haut de page ↑