Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/06/2011, 12h27   #1
Membre régulier
 
Homme Vincent
Doctorant (EPUB 3.0)
Inscription : avril 2011
Messages : 81
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Doctorant (EPUB 3.0)
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 81
Points : 90
Points : 90
Par défaut Repérer une balise XML dans une archive : problème avec zipgrep

Bonjour,

Je ne maîtrise pas bien le shell, bash, ou autre joyeuseté de ce type. En fouinant à droite à gauche sur le net, je pensais avoir trouvé la solution à mon problème.

Je devais parcourir dans un répertoire et tous les sous-répertoires, les fichiers .epub (ce sont des zip dont l'extension change, mais c'est tout), et détecter la présence de la balise "<svg>".

Je fais un test sur 10 fichiers, ok, les résultats me semblent bons. J'applique.... j'ai pas l'impression que ce soit bon. Je crois que le matching porte sur les noms des fichiers contenus dans le .epub, et non dans les fichiers. Normalement, un zipgrep regarde le contenu non ?!

Si quelqu'un peut m'aider, ce serait super !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
#! /bin/bash
 
REP_SOURCE="../sauvegarde"
 
find ${REP_SOURCE} -name '*.epub' | while read element ; do
FICHIER=${element##*\/}
CHEMIN=${element%\/*}
 
nbsvg=`zipgrep -li '<svg>' $element`
echo -e ${FICHIER}'\t'$nbsvg >> ../../../../verifsvg.txt
 
done
N'hésitez pas à critiquer mon code ! Je suis à l'écoute du moindre conseil (pour éviter de revenir trop rapidement vous embêter...).

EDIT : désolé pour les fautes de français.
VforVincent est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/06/2011, 13h28   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Euh... et est-ce qu'un simple :

Code :
find ${REP_SOURCE} -name '*.epub' -exec zipgrep -li '<svg>' {} \;
Ne ferait pas l'affaire ?
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/06/2011, 13h48   #3
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

Citation:
Je crois que le matching porte sur les noms des fichiers contenus dans le .epub, et non dans les fichiers.
qu'est-ce qui te fait croire ça ?

qu'affiche ton script ?
que devrait-il afficher ?

a priori, relis la page de man de grep, pour trouver les options correctes.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 29/06/2011, 15h34   #4
Membre régulier
 
Homme Vincent
Doctorant (EPUB 3.0)
Inscription : avril 2011
Messages : 81
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Doctorant (EPUB 3.0)
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 81
Points : 90
Points : 90
Ce sont mes résultats qui me font dire ça effectivement. Je n'ai aucun résultat.

J'ai lu les options de grep -e (je les ai même dans mon script pour ne pas les oublier), et normalement un zipgrep doit mather le motif dans les fichiers.

Pourtant, si je modifie le motif en 'svg', il me sort tous les fichiers contenus dans les .epub qui ont l'extension .svg. Alors oui, évidemment, les fichiers svg ont une balise <svg> à l'intérieur. D'où mon hésitation.

Et d'autant plus que j'ai mis un fichier .epub contenant des XHTML avec à l'intérieur des balises <svg>, et qui ne sont pas détectées...

Après, je suis débutant, et donc il y a sûrement une erreur de noob que j'ai du faire... Est-ce que l'encodage du script joue par exemple ? Parce que bon, j'ai fait le script sous windows, et il était encodé en ANSI...

Oui je sais, faire un script bash sous Windows pour aller l'exécuter sous Mac OS après, c'est très intelligent
VforVincent est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h36.


 
 
 
 
Partenaires

Hébergement Web