Date: Tue, 30 Dec 2008 14:18:41 -0800 From: Gary Kline <kline@thought.org> To: Roland Smith <rsmith@xs4all.nl> Cc: FreeBSD Mailing List <freebsd-questions@freebsd.org> Subject: Re: well, blew it... sed or perl q again. Message-ID: <20081230221841.GA46220@thought.org> In-Reply-To: <20081230211642.GA67769@slackbox.xs4all.nl> References: <20081230193111.GA32641@thought.org> <20081230201623.GB65659@slackbox.xs4all.nl> <20081230205131.GA34211@thought.org> <20081230211642.GA67769@slackbox.xs4all.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 30, 2008 at 10:16:42PM +0100, Roland Smith wrote: > 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). i have, thanks; getting more clues... . > > This will disregard the entire line with a URI in it. Is this really > what you want? exactly; anything that has http://WHATEVER i do not want to copy. the slight gotcha is if the </A> LIne // tag is on the folowing line. but in most cases the whole anchor, close-anchor of these junk lines is on one line. ...i know a closing tag does nothing; it's just sloppy markup. > > 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 thanks much to you and giorgos. i thought about doing this by-hand, but only for about 0.01s! gary > > 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) -- Gary Kline kline@thought.org http://www.thought.org Public Service Unix http://jottings.thought.org http://transfinite.thought.org The 2.17a release of Jottings: http://jottings.thought.org/index.php
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081230221841.GA46220>