[Unix] Commande sed
Goku
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
A tout les acrros d'unix,
J'ai un fichier d'entrée contenant:
<ab>
<cd>
je souhaite avec une commande unix faire comprendre à sed le saut de ligne et remplacer la chaine rechercher
<ab>
<cd>
en
<ab>
< e>
Comment faire comprendre à sed le saut de ligne?
A tout les acrros d'unix,
J'ai un fichier d'entrée contenant:
<ab>
<cd>
je souhaite avec une commande unix faire comprendre à sed le saut de ligne et remplacer la chaine rechercher
<ab>
<cd>
en
<ab>
< e>
Comment faire comprendre à sed le saut de ligne?
4 réponses
-
Salut,
tu veux modifier <cd> e < e> si est seulement <cd> ce trouve après <ab>\n ?!
lami20j -
Salut,
Je suis pas sûr d'avoir tout bien compris, mais apparemment tu veux modifier un motif dans un intervalle défini... alors essaie ça :[jp@MDK tmpfs] $ cat fich.txt <ab> blablabla <cd> <bd> <cd> <ab> blablabla <cd> blablabla blablabla <ab> <cd> [jp@MDK tmpfs] $ sed '/<ab>/,/<cd>/s/<cd>/< e>/' fich.txt <ab> blablabla < e> <bd> <cd> <ab> blablabla < e> blablabla blablabla <ab> < e> [jp@MDK tmpfs] $
On substitue donc la chaine "<cd>" par la chaine "< e>" uniquement lorsqu'elle fait partie de l'intervalle "<ab><cd>", avec ou sans caractères entre.
;-)) -
-