Basic Grep Question

Marc Schwartz marc_schwartz at comcast.net
Tue Mar 13 16:17:46 UTC 2007


Dan Track wrote:
> Hi
> 
> Could someone please tell me how I can grep for two or more different
> words in one command instead of piping them through.
> 
> e.g I don't want to do
> 
> cat /tmp/file | grep -v cat | grep -v grey
> 
> I'd like to run that from one grep command.
> 
> Many Thanks
> Dan

Two possibilities:

$ cat .Xresources
Emacs.default.attributeBackground:      white
Emacs.default.attributeForeground:      black
!
XEmacs*EmacsFrame.default.attributeForeground: black
XEmacs*EmacsFrame.default.attributeBackground: white
!
xterm*geometry: 100x32
xterm*faceName: bitstream vera sans mono
xterm*faceSize: 12
xterm*background: white
xterm*rightScrollBar: true


# Use grep with the -E arg to specify extended
# regex usage

$ cat .Xresources | grep  -Ev "(white|black)"
!
!
xterm*geometry: 100x32
xterm*faceName: bitstream vera sans mono
xterm*faceSize: 12
xterm*rightScrollBar: true


# Or just use egrep

$ cat .Xresources | egrep  -v "(white|black)"
!
!
xterm*geometry: 100x32
xterm*faceName: bitstream vera sans mono
xterm*faceSize: 12
xterm*rightScrollBar: true


You might want to look at:

   http://en.wikipedia.org/wiki/Regular_expression
   http://www.regular-expressions.info/

There is also a great book:

   http://regex.info/

HTH,

Marc Schwartz




More information about the fedora-list mailing list