命令功能
grep '\<Tom\>' file 打印包含单词Tom的行
grep 'Tom savage' file 打印包含Tom savage的行
grep '^Tommy' file 打印以Tommy开头的行
grep '\.bak$' file 打印以\.bak结束的行,单引号保护美元符号($)不作为模板的一部分
grep '[Pp]yramid' * 打印当前目录下所有文件中包含Pyramid 或者pyramid的行
grep '[A-Z]' file 打印包含至少一个大写字母的行
grep '[0-9]' file 打印包含至少一个数字的行
grep '[A-Z]…[0-9]' file 打印包含5 个字符,并以一个大写字符开头,及一个数字结束的字符串的行
grep -w '[tT]est' file 打印包含单词Test 或者test 的行
grep -s "Mark Todd" file 寻找包含Mark Todd的行,但是不打印行,而是用来检查退出状态值
grep -v 'Marry' file 打印所有不包含Marry的行
grep -i 'sam' file 打印所有包含sam的行,而不考虑大小写(如,SAM、sam、SaM、sAm)
grep -l 'Dear Boss' * 打印包含Dear Boss的文件的文件名清单
grep -n 'Tom' file 在打印的匹配行前追加行号
grep "$name" file 把变量$name 的值作为模板,在文件中寻找匹配模板的行。注意,必须使用双引号
grep '$5' file 打印包含$5的行,必须使用单引号
ps -ef|grep " ^ *user1" 命令ps -ef 的结果通过管道传递给grep,grep 打印其中以user1 开头(在 user1前有0个或者多个空格也可以)的行
1.打印你使用的grep 的版本信息。
grep --version
2.打印所有包含字符串San的行。
grep ‘San’ testfile
3.打印所有包含CA或者ca的行。
grep -i 'ca' testfile
4.打印所有名字的第一个字母是J 的行。
grep '\<J' testfile
5.打印以700 结束的所有的行以及该行的上下各两行。
grep -A2 -B2 '700\>' testfile
6.打印所有不包含834 的行。
grep -v '834' testfile
7.打印所有生日是December的行。
8.打印所有电话地区号码是408 的行。
grep '408' testfile
9.打印所有这样的行,包含这样的字符串,第一个字母的大写字母,紧跟着4 个小写字母,然后是一个逗号,最后是一个大写字母。
grep -w '[A-Z][a-z]\{4\},[A-Z]' testfile
10.打印所有以K或者k 开头的姓的行。
grep -i '^k' testfile
11.打印所有薪水是6 位数字的行,并每行的前面追加行号。
grep -n '[0-9]\{6\}' testfile
12.打印所有包含Lincoln 或者lincoln的行(grep 对大小写是不敏感的)。
grep '[Ll]incoln' testfile
13.打印所有第一个字母3,紧跟着是短横线,然后是至少一个其他数字的字符串的行。
14.打印包含Jesse的行以及该行的前两行。
grep -A2 'Jesse' testfil
15.打印以模板Yukio或者Vinh开头的行。
grep “Yukio,Vinh” testfile
16.把模板San Francisco 和Sir Lancelot放入一个文件,grep 将从这个文件中取出模板,在文件databook 中搜索匹配的行。
grep muban testfil