Hi. You may want a different tool:
awk '/pattern1/ && /pattern2/' ... awk '/pattern1/ || /pattern2/' ... awk '/pattern1/ && !/pattern2/' ... And so on. Seems much easier than stuffing boolean logic into grep. Just a thought, Arnold Kevin Connor Arpe <kevina...@gmail.com> wrote: > Hello, > > Recently, I was stumped with a difficult grep problem: I needed to filter > files containing more than one regex (think: logical-and). I didn't know > how to do this using only a single invocation of GNU grep. (Please correct > me if I am wrong.) > > A bunch of Googling led me to discover that git has a grep sub-command that > implements boolean logic with and/or/not/parens operators. Manpage: > https://git-scm.com/docs/git-grep, Source: > https://github.com/git/git/blob/master/grep.c > > At the moment, it's not possible to use git grep very well outside of git > repositories. There are some issues around absolute and relative paths, > plus "git working directory". > > Eventually, I settled on writing a crude shell script that wraps GNU grep > to provide similar functionality. However, I am aware of its inefficiency, > as it requires multiple invocations of grep. > > Are people aware of this very cool grep feature with boolean logic? I > tried to search the GNU grep message archive, but I didn't see any > discussion about it. I'm curious what the GNU grep team thinks about this > feature. > > Kind regards, > Kevin Arpe > Hongkong