Basic Grep Question
Dotan Cohen
dotancohen at gmail.com
Tue Mar 13 22:17:52 UTC 2007
On 13/03/07, Marc Schwartz <marc_schwartz at comcast.net> wrote:
> Dotan,
>
> Keep in mind that he is EXCLUDING lines that have those two values, so
> in this case, the use of '|' (OR) gets the desired result. A line cannot
> have either value, which is the same as saying that a line cannot have
> both values.
I manned the -v option after posting. Sorry. I'm still a bit close to
the X axis on the learning curve.
> If he wanted lines that INCLUDED both values, then the approach would
> require the piped double grep approach,
That's what I thought he was doing. Until I manned -v.
> One approach, for example, might be to use a Perl based Regex, with
> Lookahead. This one will return lines in .Xresources that have BOTH
> 'xterm' AND 'white' in them:
>
>
> $ grep -P "(?=.*xterm)(?=.*white)" .Xresources
> xterm*background: white
My god, that's scary.
> or return lines that have BOTH 'default' AND 'ground':
>
>
> $ grep -P "(?=.*default)(?=.*ground)" .Xresources
> Emacs.default.attributeBackground: white
> Emacs.default.attributeForeground: black
> XEmacs*EmacsFrame.default.attributeForeground: black
> XEmacs*EmacsFrame.default.attributeBackground: white
Agh! Stop!
> In this way, we can combine multiple regex's in a single grep call.
I'll just continue double grepping, until I fully explore Beagle. Thanks.
Dotan Cohen
http://technology-sleuth.com/long_answer/how_can_i_be_safe_online.html
http://what-is-what.com/what_is/microsoft_windows.html
More information about the users
mailing list