well, blew it... sed or perl q again.

Roland Smith rsmith at xs4all.nl
Tue Dec 30 21:16:46 UTC 2008


On Tue, Dec 30, 2008 at 12:51:31PM -0800, Gary Kline wrote:
> On Tue, Dec 30, 2008 at 09:16:23PM +0100, Roland Smith wrote:
> > On Tue, Dec 30, 2008 at 11:31:14AM -0800, Gary Kline wrote:
> > > 	The problem is that there are many, _many_ embedded 
> > > 	"<A HREF="http://whatever> Site</A> in my hundreds, or
> > > 	thousands, or files.  I only want to delete the
> > > 	"http://<junkfoo.com>" lines, _not_ the other Href links.
> > > 
> > > 	Which would be best to use, given that a backup is critical?
> > > 	sed or perl?
> > 
> > IMHO, perl with the -i option to do in-place editing with backups. You
> > could also use the -p option to loop over files. See perlrun(1).
> > 
> > Roland
> 
> 
> 	All right, then is this the right syntax.  In other words, do
> 	I need the double quotes to match the "http:" string?
> 
>   perl -pi.bak -e 'print unless "/m/http:/" || eof; close ARGV if eof' *

You don't need the quotes (if the command doesn't contain anything that
your shell would eat/misuse/replace). See perlop(1).  

This will disregard the entire line with a URI in it. Is this really
what you want?

Copy some of the files you want to scrub to a separate directory, and
run tests to see if your script works:

  mkdir mytest; cp foo mytest/; cd mytest; perl -pi.bak ../scrub.pl foo
  diff -u foo foo.bak 

Roland
-- 
R.F.Smith                                   http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20081230/57d9a033/attachment.pgp


More information about the freebsd-questions mailing list