Problem with sed to insert a new line

Olivier Regnier oregnier at oregnier.net
Thu Jun 28 10:52:49 UTC 2007


Andrew Pantyukhin a écrit :
> On 6/28/07, Olivier Regnier <oregnier at oregnier.net> wrote:
>> Hi everyone,
>>
>> I have a file called "test" with the following lines:
>> ###
>> a
>> b
>>
>> d
>> e
>> f
>> ###
>>
>> With sed, i want to insert the "c" letter after "b" letter. Logically
>> simple, but not for me.
>>
>> Here is my command : # sed -i.old -e "4i\c"
>>
>> I have this message : sed: 1: "4i\c": extra characters after \ at the
>> end of i command
>
> AFAIK, with our sed you can only do that with multiline
> command:
> % sed -i.old -e "4i\\<press enter>
> c" test
>
> The backslash is doubled, because shells interpret
> backslash-newline as a space. With GNU sed it's
> much easier.
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"
Hello,

Ok with your command :
% sed -i.old -e "4i\\<press enter>
c" test
It's good but if i want to use my command in a shell script ? It's 
possible or not :)

Thank you :)

Olivier.



More information about the freebsd-questions mailing list