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 avec sed * et +


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    DIE
    DIE est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 101
    Par défaut Problème avec sed * et +
    Bonjour,

    j'ai ma commande SED qui ne fonctionne pas comme je le souhaite :

    Remplacer les [ par ${ et les ] par }
    ça fonctionne bien avec la commande ci dessous

    sed 's/\[\([a-zA-Z]*\)]/${\1}/g' aa


    Par contre en remplaçant l'astérix * par +

    sed 's/\[\([a-zA-Z]+\)]/${\1}/g' aa

    je voulais que si le sed rencontrais
    [] cela ne remplace pas mais hélas si dans ce cas [] devient ${} alors que l'expression

    [a-zA-Z]+ n'est pour moi pas rempli

    J'espère avoir été clair

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Dans les regex du shell, le quantificateur + doit être échappé mais pas le *.

    Personnellement j'utilise souvent l'option -r (regex étendues) de sed, si ta version le permet.

  3. #3
    DIE
    DIE est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 101
    Par défaut
    non ma version de SED ne permet pas l'option -r

    de plus l'échappement de + ne fait pas mieux fonctionner la commande

    je précise qu'avec le + plus AUCUNE substitution ne marche ainsi :


    [xterm] devient bien ${term} avec *

    alors que ça reste [xterm] avec le + (alors que pour moi il y a bien au moins 1 ou plus de caractère matché)

    je comprend tjs pas

  4. #4
    Membre très actif

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Par défaut
    Je n'ai pas trop de solution pour ton +, mais avec ceci : \{1,\} ça fait pareil et ça semble marcher

    ps.: il y a un forum pour AIX

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 663
    Par défaut
    \+ est une extension GNU. Or, AIX n'utilise pas GNUsed (si je me souviens bien).
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    DIE
    DIE est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 101
    Par défaut
    je cherche à comprendre

    * => 0 ou n caractère
    + => 1 ou n caractère
    ? => 0 ou 1 caractère

    y a bien qq'un qui va me donner une réponse

Discussions similaires

  1. Problème avec SED et les caractères "/" sur Solaris
    Par supermen3000 dans le forum Solaris
    Réponses: 2
    Dernier message: 03/07/2009, 11h14
  2. Problème avec utilitaire sed
    Par carlou135 dans le forum Linux
    Réponses: 13
    Dernier message: 22/11/2007, 18h58
  3. [Shell] problème avec sed et awk
    Par tizilfin dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 15/11/2007, 13h01
  4. Problème avec sed
    Par Zlika_ese dans le forum Linux
    Réponses: 1
    Dernier message: 26/05/2007, 21h39
  5. Problème avec la commande sed
    Par JUSTIN Loïc dans le forum Linux
    Réponses: 2
    Dernier message: 05/09/2006, 10h17

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