Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Dec 2008 22:16:42 +0100
From:      Roland Smith <rsmith@xs4all.nl>
To:        Gary Kline <kline@thought.org>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: well, blew it... sed or perl q again.
Message-ID:  <20081230211642.GA67769@slackbox.xs4all.nl>
In-Reply-To: <20081230205131.GA34211@thought.org>
References:  <20081230193111.GA32641@thought.org> <20081230201623.GB65659@slackbox.xs4all.nl> <20081230205131.GA34211@thought.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--yrj/dFKFPuw6o+aM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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=20
> > > 	"<A HREF=3D"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.
> > >=20
> > > 	Which would be best to use, given that a backup is critical?
> > > 	sed or perl?
> >=20
> > 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).
> >=20
> > Roland
>=20
>=20
> 	All right, then is this the right syntax.  In other words, do
> 	I need the double quotes to match the "http:" string?
>=20
>   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). =20

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=20

Roland
--=20
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)

--yrj/dFKFPuw6o+aM
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAklaj7oACgkQEnfvsMMhpyUZbACePuqcE/gh+OafRN4PYnoF11H1
o+0AoJY+O/fkUAUIy06oxpURouVuZSux
=G1Sm
-----END PGP SIGNATURE-----

--yrj/dFKFPuw6o+aM--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081230211642.GA67769>