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