insert new line in files
Dan Nelson
dnelson at allantgroup.com
Fri Feb 6 14:56:23 PST 2009
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.
--
Dan Nelson
dnelson at allantgroup.com
More information about the freebsd-questions
mailing list