Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Dec 2006 08:59:51 -0600
From:      "Jack Stone" <antennex@hotmail.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: Search & Replace Issue
Message-ID:  <BAY125-F2958F30952E7182B219A07CCC30@phx.gbl>
In-Reply-To: <20061224075632.GB97940@holestein.holy.cow>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help



>From: Parv <parv@pair.com>
>To: Josh Paetzel <josh@tcbug.org>
>CC: Jack Stone <antennex@hotmail.com>, freebsd-questions@freebsd.org
>Subject: Re: Search & Replace Issue
>Date: Sun, 24 Dec 2006 02:56:32 -0500
>
>in message <200612232230.58352.josh@tcbug.org>,
>wrote Josh Paetzel thusly...
> >
> > On Saturday 23 December 2006 21:29, Jack Stone wrote:
> > > Appreciate a tip on how to search & replace  hundreds of *.htm
> > > files:
> > > >From this:
> > >
> > > <li><a href="http://www.domain.com/tales/wouf.html
> > > To this:
> > > <li><a href="tales/wouf.html
> > >
> >
> > perl -p0777i -e 's/http:\/\/www.domain.com\///g' *.htm
>
>Is -0777 really necessary (causes whole file to be stored in
>memory)?  But that is not really the point of this reply.
>
>Above is a fine opportunity to use alternative delimiters (and to
>restrict the matching (only to link URLs)) ...
>
>   perl -pi -e 's!(?<=href=")\Qhttp://www.domain.com!!g' *.html
>
>
>... in case of "hundreds of *.htm", use xargs(1) pipeline ...
>
>   find  dir-of-HTML-files  -type f -name '*.html' -print0 \
>   | xargs -0 perl -pi -e 's!(?<=href=")\Qhttp://www.domain.com!!g'
>
>
>Feel free to change Perl version with sed (the version of sed with
>-i option[0]) one ...
>
>   find ... \
>   | ... sed -i -e 's,\(href="\)http://www\.domain\.com,\1,g'
>
>
>   [0] That makes this reply on point.
>
>
>   - Parv
>

Parv and all:
Many thanks for these various tips and your time to make them!

I usually use sed(1) myself, but for the life of me, I could not find a way 
to properly apply delimiters or syntax to get it to work. I was close, but 
no cigar! Too many slashes and commas I guess.

Such a "tool" will indeed be a giant timesaver!

Merry Xmas!

All the best,
Jack

_________________________________________________________________
Get live scores and news about your team: Add the Live.com Football Page 
www.live.com/?addtemplate=football&icid=T001MSN30A0701




Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?BAY125-F2958F30952E7182B219A07CCC30>