insert new line in files

Adam Vande More amvandemore at gmail.com
Fri Feb 6 15:00:20 PST 2009


Dan Nelson wrote:
> In the last episode (Feb 06), Adam Vande More said:
>   
>> I want to insert a new line of text at a certain position in certain files
>> recursively under a directory.  More specifically, I want text like this:
>>
>> include('/usr/home/www/imp-sites/default_inventory.php');
>>
>> to be put into file X at line 37 where file X appears in ./subdir1, 
>> .subdir2 etc. There are many subdirs or I'd just do it by hand.
>>
>> I've done stuff like this before with the rpl script and it works well as
>> long as there aren't any special characters in the strings.  So I assumed
>> I finally hit the point where I'm forced to learn something like sed or
>> awk and tried some examples with sed but I can't figure out what I'm doing
>> wrong.
>>
>> I get results like this:
>>
>> sed '5i\test' test.txt
>> sed: 1: "5i\test": extra characters after \ at the end of i command
>>     
>
> You want:
>
> sed -e '5i\
> test' test.txt
>
> i.e. a linebreak after the backslash.
>
>   
I had actually tried that too:

 > sed -e '5i\
? test' text.txt
sed: 1: "5i
test
": command i expects \ followed by text


More information about the freebsd-questions mailing list