Skip site navigation (1)Skip section navigation (2)
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>