[gull] sed et newline

Bertrand Janin janin at azylog.net
Wed Nov 30 09:20:43 CET 2005


Bonjour !

Le 30/11/2005 à 00:21:40, Claude Paroz a écrit:
> J'ai un petit soucis avec un "bête" rechercher-remplacer dans un
> fichier. J'ai besoin de remplacer la séquence newline suivi d'un ">" par
> un simple ">".
> 
> Dans ma grande naïveté, j'espérais qu'un simple :
> sed 's/\n>/>/g' monfichier
> ferait l'affaire. Mais ça aurait été trop facile :-P
> 
> Quelque peut-il me mettre sur la bonne voie ? Je précise que c'est à
> placer dans un script bash.

Sed ne sait pas vraiment traiter autrement que ligne par ligne, donc il
ne pourra pas "attraper" une chaine qui est à cheval sur deux lignes
(Enfin il existe la commande sed 'N', mais je n'ai pas réussis à faire
ce que vous cherchez avec elle). Par contre tr(1) traite ce qu'on lui
donne en entrée caractère par caractère :

    cat TonFichier | tr '\n>' '>' > Sortie

PS: C'est ma première intervention sur la liste du GULL que je lis
passivement depuis quelques semaines déjà. Je me présente donc
rapidement : je suis français, utilisateur de Linux depuis quelques
années, BSD depuis un peu moins longtemps.

-- 
Bertrand Janin



More information about the gull mailing list