IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

[SHELL] Egrep parse error


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut [SHELL] Egrep parse error
    Bonjour @tous,

    J'ai le script suivant qui me retourne une erreur alors que l'expression régulière dans Kodos me retourne bien ce que je souhaite.
    Je m'explique.
    Je cherche à retourner la valeur de l'attribut "toto" en parsant un fichier html qui contient ceci : <MonTag toto="1" />


    egrep -i -l toto=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']? "/mondomaine/monfichier.html" | while read namejs;
    do var[$k]=$namejs;
    echo "${var[$k]}";
    k=$((k+1));
    done

    Quand j'éxécute ceci dans mon shell, il me retourne l'erreur suivante :

    Erreur de syntaxe près du symbole inattendu « ( »

    Faut il backslasher l'ensemble des caractères comme (, ), [ , ], ?, ", ', etc ?...Pouvez m'aider à ce sujet svp ?

    Merci d'avance pour vos réponses

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    Bonjour,

    kodos crée, teste, et debug des expressions rationnelles pour Python.
    Je ne sais pas si egrep les comprend.

    D'après ce que j'ai pu lire, de ci de là, vu qu'il peut y avoir plein de trucs dans les balises (alinea, balises imbriquées...), il serait préférable d'analyser des fichiers html avec xslproc (processeur de ligne ce commande XSLT)
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Une expression régulière reste une expression régulière qu'elle soit exécuter par Python, shell ou autres ? Je me trompe ?
    Pourquoi celle-ci ne veut elle pas s’exécuter correctement ?
    Et j'utilise Egrep qui est un alias de grep -E pour définir que mon expression régulière est de type étendue.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Tous les outils ne gèrent pas les expressions régulières de la même manière. Dans ton exemple je vois un \S (qui en Perl par exemple match tous les caractères qui ne sont pas des séparateurs), qui n'est pas supporté par grep.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    La tristesse m'envahit
    Je suis donc revenu à des choses plus basiques :

    grep -ro '<MonTag .* toto="\([^"]*\)"' /mondomaine/monfichier.html | \
    grep -o 'toto="[^"]*"' | cut -f2 -d'"'

    ce qui fonctionne bien au final.

    Merci pour vos réponses !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parse Error...
    Par Anduriel dans le forum Langage
    Réponses: 5
    Dernier message: 09/10/2005, 02h23
  2. parse error
    Par Romain93 dans le forum C
    Réponses: 6
    Dernier message: 28/09/2005, 21h03
  3. je ne comprend pas un parse error
    Par bibi_64 dans le forum C
    Réponses: 3
    Dernier message: 21/09/2005, 14h00
  4. XML Parsing Error: not well-formed
    Par localhost dans le forum Valider
    Réponses: 5
    Dernier message: 16/06/2005, 14h20
  5. Parse error
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 02/02/2005, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo