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

Shell et commandes GNU Discussion :

Problème Expression Régulière


Sujet :

Shell et commandes GNU

  1. #21
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed: Function /CMD_TRF_Fibre_0001001023_0384674312_D38.*/r/tmp//sh-np-1406666341 cannot be parsed.
    J'ai essayé de mettre des guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed: Function /"$cas_test".*/r/tmp//sh-np-1405917897 cannot be parsed.
    Voici ma ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed  -e '/$cas_test.*/r'<(sed -n -e '/<!--/,/-->/{/<!--/d;s/-->//;p;}' $file) /exec/applis/09cdvlpt/BASE_TEST/RAPPORTS/test.txt.copy >/exec/applis/09cdvlpt/BASE_TEST/RAPPORTS/test.txt.work

  2. #22
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Plusieurs choses…

    Déjà, tu devrais peut-être décomposer ton expression et la tester par petit bout, histoire de voir déjà si ton système (AIX) et ta version de sed acceptent la syntaxe.

    Je vois que dans tes variables (qui au passage ne peuvent être interprétées à l'intérieur de quotes simples, il faut soit refermer la quote simple avant et la rouvrir derrière, soit entourer toute la syntaxe de quotes doubles) il y a des chemins, qui contiennent par conséquent des slashs, slashs qui par défaut sont les délimiteurs employés par sed

    Il te faut donc soit changer de délimiteur (# ou | ou n'importe quel caractère susceptible de ne pas se retrouver dans ton expression), soit protéger les slashs de tes chemins, mais cette dernière solution peut s'avérer pénible (à écrire et à lire).

  3. #23
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    J'ai tout remplacé par des #
    Plus d'erreurs, mais pas de modifs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "#$cas_test.*#r"<(sed -n -e '#<!--#,#-->#{#<!--#d;s#-->##;p;}' $file) /exec/applis/09cdvlpt/BASE_TEST/RAPPORTS/test.txt.copy >/exec/applis/09cdvlpt/BASE_TEST/RAPPORTS/test.txt.work

  4. #24
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 309
    Points : 12 817
    Points
    12 817
    Par défaut
    Donne nous déjà le résultat de la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -n -e '/<!--/,/-->/{/<!--/d;s/-->//;p;}' $file
    puis de la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "/$cas_test.*/r $file" /exec/applis/09cdvlpt/BASE_TEST/RAPPORTS/test.txt.copy

  5. #25
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par nanooby Voir le message
    AIX 5.3
    Ici, tu es dans le forum "Linux / Shell et commande GNU" or tu n'utilises ni Linux, ni une commande GNU.

    Le forum "Unix / Shell et commande POSIX" est nettement plus adapté à ta question.

  6. #26
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ Res1=(`sed -n -e '/<!--/,/-->/{/<!--/d;s/-->//;p;}' $file`)
    $ echo "$Res1"
    <Nom="CMD_ACQ_Fibre"/>
    $ Res2=(`sed -e "/$cas_test.*/r $file" /exec/applis/09cdvlpt/BASE_TEST/RAPPORTS/test.txt.copy`)
    $ echo "$Res2"
    MP_0385249173.resultat
    Merci Jiliagre pour l'info, je ferai ainsi pour les prochain post.

  7. #27
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    Je pense que je vais lire parallèlement et écrire dans un nouveau fichier au lieu d'essayer d'insérer à la suite.

    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème expressions régulières
    Par cottcott dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2007, 14h29
  2. Réponses: 3
    Dernier message: 20/04/2007, 14h47
  3. Problème expression régulières
    Par LEK dans le forum C#
    Réponses: 2
    Dernier message: 18/04/2007, 11h40
  4. [RegEx] problème expression régulière
    Par H-bil dans le forum Langage
    Réponses: 4
    Dernier message: 13/02/2007, 15h38
  5. Problème expressions régulières
    Par sozie9372 dans le forum Langage
    Réponses: 3
    Dernier message: 07/06/2006, 15h13

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