perl script question.
Gary Kline
kline at thought.org
Sat Jan 10 17:34:51 PST 2004
On Sat, Jan 10, 2004 at 11:02:18PM +0000, Matthew Seaman wrote:
> On Sat, Jan 10, 2004 at 11:39:07PM +0100, Björn Andersson wrote:
> > On Sat, Jan 10, 2004 at 10:33:08PM +0000, Matthew Seaman wrote:
> > > On Sat, Jan 10, 2004 at 02:10:36PM -0800, Gary Kline wrote:
>
> > > > Folks,
>
> > > > Let's see if perl can do this one; it's as obscure a task
> > > > as I've run into. I have scores of files with:
>
> > > > A regular sentence, or phrase. then_one_containing_underscores_-
> > > > between_each_word Followed by another regular, space-delimited
> > > > sentence. Followed_by_another_string_with_underscaores.
>
> > > > Is there a perl way to get rid of the
> > > > string_containing_underscores and leave the regular sntences??
>
> > > perl -pi.bak -e 's/\s+\w+_\w+\.?//;' filename
>
> > If this occures more than once on a line we should have the line as this:
> > perl -pi.bak -e 's/\s+\w+_\w+\.?//g;' filename
>
> Good point. Also, if the stuff_separated_by_underscores wraps around
> onto more than one line, then there may not be any leading whitespace:
>
> perl -pi.bak -e 's/\s*\w+_\w+\.?//g;' filename
>
The lines do indeed wrap so this does the job on a test file.
I do have the re-exp book but this one is far ovr my head.
What do the "\s*" mean, and also thr "\.?/" ?
Man, I'd never have gotten this one; at least not in *one*
lines:-) Wow.
thanks to everyone,
gary
--
Gary Kline kline at thought.org www.thought.org Public service Unix
More information about the freebsd-questions
mailing list