in reply to multiple regex logical AND

You don't want bitwise or (|) but logical and (&&):
perl -nle 'print $ARGV if !$seen{$ARGV}++ ;print if /^JRECOV="yes"/&&/ +^TEOJ=-w"/'

Hmm.. but is it possible that two strings match the beginning of a line? Yes, if you slurp the file or use paragraph mode and use the m and s modifiers (see perlre):

perl -n00 -le 'print $ARGV if !$seen{$ARGV}++ ;print if /^JRECOV="yes" +/ms &&/^TEOJ=-w"/ms'

--shmem

update: corrected glitch with || and &&

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

Replies are listed 'Best First'.
Re^2: multiple regex logical AND
by bigswifty00000 (Beadle) on Dec 12, 2006 at 20:22 UTC
    corrected the missing " and tried this (this file has the 2 params set to what I'm searching for) perl -nle 'print $ARGV if !$seen{$ARGV}++ ;print if /^JRECOV="yes"/&&/^TEOJ="-w"/' ss1lab02 AND perl -n00 -le 'print $ARGV if !$seen{$ARGV}++ ;print if /^JRECOV="yes"/ms &&/^TEOJ="-w"/ms' ss1lab02 Neither is returning the lines (filename is returned)
Re^2: multiple regex logical AND
by bigswifty00000 (Beadle) on Dec 12, 2006 at 20:30 UTC

    corrected the missing " and tried this (this file has the 2 params set to what I'm searching for)

    perl -nle 'print $ARGV if !$seen{$ARGV}++ ;print if /^JRECOV="yes"/&&/^TEOJ="-w"/' ss1lab02

    AND

    perl -n00 -le 'print $ARGV if !$seen{$ARGV}++ ;print if /^JRECOV="yes"/ms &&/^TEOJ="-w"/ms' ss1lab02

    Neither is returning the lines (filename is returned)

      Please see I know what I mean. Why don't you?

      What's your ss1lab02 file like? mine is:

      # sample input file for node 589354 # hope this helps. no=good JRECOV="yes" TEOJ="-w" foo=bar quux=blorfl

      Oneliner, and output:

      bash$ perl -n00 -le 'print $ARGV if !$seen{$ARGV}++ ;print if /JRECOV= +"yes"/ms && /TEOJ="-w"/ms' ss1lab02 ss1lab02 no=good JRECOV="yes" TEOJ="-w"

      Tired of guessing,
      --shmem

      _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                    /\_¯/(q    /
      ----------------------------  \__(m.====·.(_("always off the crowd"))."·
      ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}