grep PARAMS what? where?
msRoot:~ ioannis$ grep ^paddi* styl*
padding-left: 0;
padding:5px 2px;
padding-left:4px;
padding:3px;
msRoot:~ ioannis$
grep 'word1|word2|word3' /path/to/file
example:
msRoot:~ ioannis$ grep -w 'padding\|margin' *.css
th,td { margin: 0; padding: 0; }
margin-left: 2em;
margin-top: 20px;
use alway .\ escape in .
and \| escape in strings 'padding\|margin'
Use the following syntax:
grep 'word1|word2' filename
How Do I do AND with grep?
Use the following syntax to display all lines that contain both 'word1' and 'word2'
grep 'word1' filenae | grep 'word2'
Match a character "v" two times:
egrep "v{2}" filename
You can use ^ and $ to force a regex to match only at the start or end of a line, respectively. The following example displays lines starting with the vivek only:
grep ^vivek /etc/passwd
Find lines ending with word foo:
grep 'foo$' filename
Match Vivek or vivek:
grep '[vV]ivek' filename
You can match two numeric digits (i.e. match foo11, foo12 etc):
grep 'foo[0-9][0-9]' filename
Escaping the dot
The following regex to find an IP address 192.168.1.254 will not work:
grep '192.168.1.254' /etc/hosts
All three dots need to be escaped:
grep '192\.168\.1\.254' /etc/hosts
The following example will only match an IP address:
egrep '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' filename
The following will match word Linux or UNIX in any case:
http://www.cyberciti.biz/faq/grep-regular-expressions/
No comments:
Post a Comment