Probleme avec du shell et la commande sed

Résolu
Bonjour,

Je dois extraire des données dans un fichier en remplacer d'autres. J'ai donc fait la commande suivante:

sed 's/PAPA /("/g' AAA.txt > BBB.txt


Mon soucis c'est que je voudrai avoir:

sed 's/PAPA /('/g' AAA.txt > BBB.txt


mais la commande ne comprend pas

('


si bien qu'elle ne s'exécute pas.

Merci à vous.
Configuration: Windows XP
Firefox 3.0.3

5 réponses

  1. --
    Recherche contrat d'apprentissage/stage en Réseaux et Télécommunication pour effectuer une Licence Pro, plus spécialement en Administration et sécurité des Réseaux ou Réseaux sans fil et sécurité.
    1. tu peux utiliser
      sed "s/PAPA /('/g" AAA.txt > BBB.txt
      Si tu tiens absolument à gardes les simples quotes, je crois qu'il faut doubler les ' pour que sed les comprenne correctement.
      1. Contributeur
        'il faut doubler les ' pour que sed les comprenne correctement.
        Non, ça ne marche pas comme ça.
        Si on souhaite utiliser les apostrophes, il suffit juste de refermer juste de l'échapper avec un backslash en dehors de la regexp.
        Par exemple :
        sed 's/PAPA /(' \' '/g' AAA.txt > BBB.txt
        (J'ai mis des espaces pour ne pas confondres deux apostrophes collées avec un guillemet.

        On peut aussi tout simplement utiliser, la formule sans apostrophes :
        sed s/PAPA /\'/g AAA.txt > BBB.txt