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 :

Quels sont précisément les caractères spéciaux de sed dans les parties droite et gauche d'une substitution


Sujet :

Shell et commandes GNU

  1. #1
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Points : 5 851
    Points
    5 851
    Par défaut Quels sont précisément les caractères spéciaux de sed dans les parties droite et gauche d'une substitution
    Je veux générer un programme "sed" sur la base d'une liste de correspondances.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ cat plop
    identifiant1=valeur1
    identifiant2=valeur2
     
    $ generate-converter.ksh < plop
    s:@identifiant1@:valeur1:g
    s:@identifiant2@:valeur2:g
    Le résultat sert de programme de commandes sed à appliquer à un fichier contenant les chaînes @identifiant1@ et @identifiant2@.

    Pour que ça marche à coup sûr (que sed ne plante pas et fasse les bonnes modifications), j'ai besoin de savoir quels sont les caractères à quoter dans les parties droite et gauche d'une commande de substitution "sed".

    D'après mon expérience et ce que j'ai trouvé sur internet, je dirais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pour la partie gauche: 
    ^ . $ [ ] \ * + : (ou le caractère utilisé comme séparateur de substitution)
    pour la partie droite: 
    \ & : (ou le caractère utilisé comme séparateur de substitution)
    En ai-je oublié?

    PS: je viens de penser que je pourrais mettre chaque caractère entre crochets!
    C'est-à-dire, générer quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s:[@][i][d][e][n][t][i][f][i][a][n][t][1][@]:[v][a][l][e][u][r][1]:g
    Du coup, il ne reste plus qu'à régler le problème des caractères spéciaux entre crochets: ^ - [ ]

  2. #2
    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

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Points : 5 851
    Points
    5 851
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Merci pour les références!
    Bon, la première est un peu gnu-oriented et la deuxième un peu indigeste...
    mais ça confirme ce que je pensais (peu de caractères à droite et une ribambelle à gauche, mais ils ne sont pas autorisés dans notre projet).

  4. #4
    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
    Tiens celui-ci devrait bien t'aider

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Points : 5 851
    Points
    5 851
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Tiens celui-ci devrait bien t'aider
    Super!
    Je le bookmarke.
    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/09/2011, 14h50
  2. Réponses: 3
    Dernier message: 21/08/2009, 15h33
  3. Réponses: 6
    Dernier message: 24/04/2009, 13h34
  4. Réponses: 15
    Dernier message: 15/04/2008, 14h25

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