Shell

salut tout le monde :)

je travail avec ksh.

j'utilise la commande sed pour modifier des expression dans des fichiers

par exemple:

sed 's/motif1/motif2/'

je veux substituer le motif1 par le motif2

le motif1 : . * gh
le motif2 : / . mari

merci de me répondre

4 réponses

  1. Modérateur
    Salut,

    jp@MDK:~/tmpfs ssh$ cat myriam
    je veux substituer le motif1 par le motif2
    
    le motif1 : . * gh
    le motif2 : / . mari
    
    merci de me répondre
    
    jp@MDK:~/tmpfs ssh$ sed 's#\. \* gh#/ \. mari#' myriam
    je veux substituer le motif1 par le motif2
    
    le motif1 : / . mari
    le motif2 : / . mari
    
    merci de me répondre


    Ou :
    jp@MDK:~/tmpfs ssh$ sed 's#\(\. \)\* gh#/ \1mari#' myriam
    je veux substituer le motif1 par le motif2
    
    le motif1 : / . mari
    le motif2 : / . mari
    
    merci de me répondre
    
    jp@MDK:~/tmpfs ssh$


    ;-))
    1. merci pour ta réponse jipyci :)))

      si j'ai bien compris
      # sert à délimiter expression régulier
      l'anti slash \ : pour différencier entre ce qui dans les expressions et les caractére spéciaux du langage ksh

      c'est ça ??
      1. Modérateur
        # sert à délimiter expression régulier
        Oui, dans la mesure où celui par défaut (/) est présent dans le motif de recherche et de remplacement. On aurait pu aussi garder le "/" et échapper ceux des motifs...

        l'anti slash \ : pour différencier entre ce qui dans les expressions et les caractére spéciaux du langage ksh
        Surtout pour les différencier des caractères spéciaux utilisés dans les expressions régulières.
    2. dans le cas du deuxième cas sed 's#\(\. \)\* gh#/ \1mari#' myriam
      le 1 fait référence à ce qui est entre parenthèse
      le deuxième cas est un peu plus difficile pour moi :(
      1. Modérateur
        Oui.

        Difficile mais tu l'as bien compris pourtant ? ;-))
    3. difficile parce que je peux pas écrire cette commande et avec ce syntaxe je suis encore débutante

      c'est grâce à toi que je parvient à comprendre

      merci jipicy pour tn aide :)