[Unix] Commande sed
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
-
ModérateurSalut,
tu veux modifier <cd> e < e> si est seulement <cd> ce trouve après <ab>\n ?!
lami20j -
ModérateurSalut,
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.
;-)) -
WAi c'est exactement ça!
Trop fort Lamij! -
Modérateur;-))