[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sed ; in \n ersetzen



"Gebhard Dettmar" <gebhard.dettmar@student.hu-berlin.de> writes:

> Daniel Golesny scribbled on Tuesday, May 18, 2004 12:51 PM
>
>> Christoph Bier wrote:
>>> Daniel Golesny schrieb am 18.05.2004 11:50
>> 
>>>> das funktionieren, tuts aber nicht.
>>> 
>>> Bei mir schon.
>>> 
>>>> Er ersetzt es in '\n' und nicht in den Umbruch.
>>>> \\n oder bei sed mit " ging auch nicht.
>>>> Ich weiss nicht weiter.
>>> 
>>> $ sed --version
>>> GNU sed Version 4.0.9 [...]
>> 
>> ok, dann bin ich nicht blöd, sondern meine Version alt GNU sed
>> version 3.02 
>> 
>> habe halt Woody ...
> kapiere ich nicht. Das muss gehen, seit es sed gibt. In sed gibt's
> doch sogar Multi-line-commands (N,D,P)
> ???  

Es geht mit jedem sed, wenn man statt der Zeichenfolge Backslash-n
tatsächlich ein Newline-Zeichen schreibt, welches man seinerseits mit
einem Backslash quoten muß. Dies ist entweder zu bewerkstelligen, indem
man das Newline-Zeichen in einer Variablen speichert:

nl='
'
echo 'a;b;c' | sed "s/;/\\$nl/g"

Oder man schreibt es wirklich da, wo man es haben will:

echo 'a;b;c' | sed 's/;/\
/g'

Martin


-- 
   ,--.    Martin Dickopp, Dresden, Germany                 ,= ,-_-. =.
  / ,- )   http://www.zero-based.org/                      ((_/)o o(\_))
  \ `-'                                                     `-'(. .)`-'
   `-.     Debian, a variant of the GNU operating system.       \_/



Reply to: