**grep ** grep [-cinvABC] 'word' filename -c 行数 -i 不区分大小写 -n 显示行号 -v 取反(比如下面例子中,加v就是取不包含关键字的行) -r 遍历所有子目录 -A 后面跟数字,过滤出符合要求的行以及下面n行 -B 同上,过滤出符合要求的行以及上面n行 -C 同上,同时过滤出符合要求的行以及上下各n行

mkdir /tmp/grep cd /tmp/grep/ cp /etc/passwd .

grep 'nologin' passwd 从passwd文件中过滤nologin

grep -n 'root' /etc/passwd
 grep -nv 'nologin' /etc/passwd
  grep '[0-9]'  passwd            //含有数字的行

 grep -v '[0-9]' inittab          //不含数字的行
 grep -v '^#' inittab             //不以#开头的行
 grep -v '^#' inittab|grep -v  '^$' //不以#开头且去除空白行的行 
 grep '^[^a-zA-Z]' inittab          //不以字母开头的行  (^在[]外面是以[]内内容开头,在[]内则是括号内内容的相反)
grep 'r.o' passwd          //ro中间的.代表任意字符
 grep 'r*o' passwd          //*左边的字符重复0次或多次
 grep 'oo*' passwd        //o+o的0次或多次
 grep '.*' passwd           //任意字符匹配
 grep 'o\{2\}' passwd       //o出现两次,这里加\脱译
 grep -E 'o{2}' passwd      //o出现两次,-E选项就不需要脱译
 egrep 'o{2}' passwd        //o出现两次
 egrep 'o+' passwd          //o出现1次或多次
 egrep 'oo?' passwd         //oo 出现0次或者1次(?前面字符)
 egrep 'root|nologin' passwd  //root或者nologin
 egrep '(oo){2}' passwd     //oo出现两次