【发布时间】:2018-12-01 13:37:10
【问题描述】:
fgrep 命令与 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索与表达式匹配的模式。
谁能用一个简单的例子解释一下使用上的区别?
【问题讨论】:
-
一个模式一次性描述了一整套字符串。
标签: bash grep pattern-matching string-matching
fgrep 命令与 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索与表达式匹配的模式。
谁能用一个简单的例子解释一下使用上的区别?
【问题讨论】:
标签: bash grep pattern-matching string-matching
fgrep 等价于grep -F 和egrep 等价于grep -E
grep -F 匹配字符串,grep -E 匹配扩展正则表达式。
给定输入文件:
$ cat file
Hello Alice!
Hello Bob!
Hi Alice!!
Hi Bob!!
模式匹配:
$ grep -E -f <(echo -e "Ali.*\nBob") file
Hello Alice!
Hello Bob!
Hi Alice!!
Hi Bob!!
字符串匹配:
$ grep -F -f <(echo -e "Ali.*\nBob") file
Hello Bob!
Hi Bob!!
在第二个示例中,Ali.* 与 Alice 不匹配,因为 grep 将其视为文字字符串。
我建议看看this page。
【讨论】: