[mdlug] Another sed/regex question

Mat Enders mat.enders at gmail.com
Fri Sep 26 19:55:42 EDT 2014


I use sed and awk quite a bit and that is how I would have done it.  Perl I
am sure can do it but I am just starting to learn Perl.

On Fri, Sep 26, 2014 at 6:37 PM, Jeff Hanson <jhansonxi at gmail.com> wrote:

> Have a input with mixed lines of data, some desirable, some not.  Valid
> lines have a particular text and digit pattern which needs to be extracted
> (very predictable).  If a line contains a particular number then it is
> output encapsulated by one set of ASCII terminal escape codes for setting
> text color.  If it has a non-matching number then it is output with a
> different set of codes.  I need something like:
>
> program_output | sed
> s/match_pattern/MATCHCODE_cleaned-up_output_RESETCODE
> !NOMATCHCODE_cleaned-up_output_RESETCODE
>
> I'm not sure how to combine the match/no-match replacements in one
> operation.  Currently I'm using:
>
> program_output | sed
> -ne s/match_pattern/MATCHCODE_cleaned-up_output_RESETCODE/p
> -ne
>
> /match_pattern/!{s/valid_data_pattern/NOMATCHCODE_cleaned-up_output_RESETCODE/p}
>
> I know this can be done in one line of awk/perl/whatever but I'm trying to
> avoid additional dependencies.
> _______________________________________________
> mdlug mailing list
> mdlug at mdlug.org
> http://mdlug.org/mailman/listinfo/mdlug
>



-- 
Mathew E. Enders

"Where once Samba and Apache sold Linux to the world they are now just part
of the plumbing.  But that's OK, plumbers make good money."
--Jeremy Allison


More information about the mdlug mailing list