linux 中 grep命令中的 -F 选项
因为grep是支持正则表达式的,[ ] ,这两个左右括号,可能属于非法匹配。
-F选项使正则匹配失效?
001、
[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 1359 kkkk 1[36]0 qqqq 1361 jjjj 1362 nnnn [root@PC1 test]# grep "1359" a.txt ## 正常数据可以直接匹配 1359 kkkk [root@PC1 test]# grep "1[36]0" a.txt ## 匹配关键字中存在中括号时,匹配失效 [root@PC1 test]# ls a.txt [root@PC1 test]# grep -F "1[36]0" a.txt ## 增加-F选项, 匹配生效 1[36]0 qqqq
1359 kkkk 1[36]0 qqqq 1361 jjjj 1362 nnnn [root@PC1 test]# grep -F "1359" a.txt ## -F选项,不影响其他匹配 1359 kkkk
参考:https://blog.csdn.net/lejustdoit/article/details/117430822