1.完整匹配整个字符串
grep -w "spe" a.txt #-w表示精确匹配将spe作为完整字符的行 ==grep -E "\<spe\>" a.txt
2.整行匹配字符串
grep -x "test" a.txt #整行匹配字符串
3.忽略特殊字符进行匹配
grep -Fx "yangchangchun@adc.com" a.txt #查找邮箱字符串
#F:将含有特殊字符的看成一个整体 ;X:exact 整行匹配,相当于-w
4.匹配文件夹下包含字符的所有文件
grep -r "spe" path/* >>have_spe.log #在path的路径下所有文件中搜索含有spe字符的文件 并将文件名放入log中
grep -nR "hello world" ./ #查找当前目录下包含字符的文件并列出所在行和行号,也可用nr
5.正则匹配
echo $a|grep "a.*" #处理字符串不用-E
grep -E "a.*" a.txt #-E 表示能用正则表达式特别是处理文件的时候必加这个参数
6.取反进行匹配
grep -v "spe" a.txt #-v表示取反 ,显示没有spe字符的行
如:a=‘test’
但是文件a中:
testing/table/json
test2/master/jup
test/master/su
stest/stable
test
grep "test" a.txt #匹配所有行
grep -E "\<test\>" a.txt #精准匹配test作为完整字符,即第3行和最后一行
grep -x 'test' a.txt #最后一行