Date: Fri, 6 Feb 2009 16:56:19 -0600 From: Dan Nelson <dnelson@allantgroup.com> To: Adam Vande More <amvandemore@gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: insert new line in files Message-ID: <20090206225619.GA75180@dan.emsphone.com> In-Reply-To: <498CBEBE.7080702@gmail.com> References: <498CBEBE.7080702@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090206225619.GA75180>