Alexandre Dulaunoy wrote:
sed ne travaille que ligne par ligne. Le \n n'est pas dans le buffer
pour les patterns.

En effet.


Pour le problème, donné, voici un moyen très simple en Perl:

perl -pe 'chomp' <source >destination

Petite explication:
-p: assume un "while (<>) { ... }" autour de l'expression
-e: éxécute l'expression qui suit
chomp: supprime le "\n" de "$_" (variable anonyme) si présent

Donc, écrit en long et en large:

while (<>) {
  chomp;
  print $_;
}

Par contre, certains sed (gnu sed) possède un espace qui peut être
illimité :


sed -n 'H;$g;$s/\n//gp' brol

C'est quoi ce truc ? lol H;$g;$s/ ?

Donc sed est bien pour le ligne à ligne mais pas très performant pour
les multilignes...

Oui, en effet. Je trouve sed assez mal documenté dans le man aussi :-\ Je l'utilise pour des choses très simple, genre

sed 's/foo/bar/g' <src >dst

mais sinon je passe très vite à Perl ou awk.

--
  -o) Pascal Bleser        http://guru.unixtech.be
  /\\ <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
 _\_v The more things change, the more they stay insane.

_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à