1、在实践中,我有一个需求,搜索日志关键字,而这一串关键字中包含了特殊字符,而你又不想用复杂的正则表达式去匹配的时候。那么grep -F 就派上了用场:

2、不用 grep -F 时:

grep  '[LoanGrantPO(bussNos=[NJZL-HZ-202104-9854]'  *.log

报错如下:grep: Invalid range end

 

3、因为grep是支持正则表达式的,[    ]   ,这两个左右括号,可能属于非法匹配,所以搜索就报错了;

 

4、那么grep -F(同fgrep,有的系统不一定有fgrep命令) 就派上了用场:

grep -F  -C 10  '[LoanGrantPO(bussNos=[NJZL-HZ-202104-9854]'  *.log 

(-C 10,这个参数表示被搜索的关键字的上下10行都搜索显示出来):

 

5、我们看到,被搜索出来的匹配关键字,已经标红了:

 

6、参考链接:

http://c.biancheng.net/linux/grep.html

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐