Hi Chris!
On Friday 16 Oct 2009 22:55:04 Chris Allen wrote:
I'm using pcregrep in a pipeline to match some information for a
network monitoring system.
PCRE is the not-so-Perl-compatible Regular Expression library. It's probably a
pretty nice as a way to provide Perl-like (but different) regular expressions
for programs written in C, C++ and other languages, but it's something that we
Perl people may opt not to help you with because it's not written in Perl or
is Perl-compatible.
GNU grep's -P flag is similar, and as much as I am fond of it, it again uses
PCRE. Too bad, though, that it is often absent from /bin/grep (as is the case
for Debian and Ubuntu) due to the fact that pcre belongs in /usr/bin.
You may wish to look at ack - http://betterthangrep.com/ - for a Perl-based
implementation of an improved grep, that can act as a filter too, but has some
other advantages (and possibly some cases where it will be less good).
I'm having a bit of a problem doing this
smoothly with the least amount of code. One thing in particular is
driving me crazy - I can't figure out how to output only the contents
of my match groups with pcregrep.
Here's what I'm doing:
echo status dir | bconsole | pcregrep -M '^Sched.*:\n(.*\n)*?
^$'
You can try using
perl -0777 -p -e 'print $1 if m{^Sched.*:\n(.*\n)*?^$}ms'
(Untested)
Instead.
I only want pcregrep to write to stdout the data in match group 1, ie
the stuff inside (.*\n)
Is there a way to do this with pcregrep?
No idea, but there probably is with perl -e and similar
http://perldoc.perl.org/perlrun.html flags.
Regards,
Shlomi Fish
--
Sent from an iPhone owned by an iLoser.
-
Shlomi Fish http://www.shlomifish.org/
Optimising Code for Speed - http://shlom.in/optimise
Chuck Norris read the entire English Wikipedia in 24 hours. Twice.
--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/