On Fri, Sep 16, 2011 at 12:58:08PM -0600, Bob Proulx wrote:
> Using sed is a good tool for this but if you want to append then you
> should use the 'a' command.
> 
>   $ printf "one\ntwo\nthree\nfour\n" | sed '/two/a\
>   -> foo'
>   one
>   two
>   -> foo
>   three
>   four

This doesn't quite work for me in this scenario either:

        printf "<pre>\nSome text\n</pre>" | sed '/<pre>/a\n'

gives me

        <pre>
        n
        Some text
        </pre>

while: print "<pre>\nSome text\n</pre>" | sed '/<pre>/a\\n'

gives:
        <pre>


        Some text
        </pre>

note there's two blank lines inserted above. How would I append a single
newline here? From the results above passing no argument to the append
command would suffice, but that isn't allowed.

I'm either overlooking something obvious, there's a problem with my
locale (en_GB.UTF-8), or there's a bug in sed. Any ideas anyone? I know
I'm more inclined to go with the first option :)

Cheers,
Tom

P.S. Hmm, while testing before sending this I discovered that
sed '/<pre>/a\\' works. Not what I would have expected.

-- 
<joost> Do you mean to say that I can read mail with vi too? ;-)
<Joey> Didn't you know that?
<Joey> :r /var/spool/mail/jk
                -- Seen on #debian-mentors

Attachment: signature.asc
Description: Digital signature

Reply via email to