【问题标题】:Difference between "string matching" and "pattern matching"“字符串匹配”和“模式匹配”的区别
【发布时间】:2018-12-01 13:37:10
【问题描述】:

fgrep 命令与 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索与表达式匹配的模式。

谁能用一个简单的例子解释一下使用上的区别?

【问题讨论】:

  • 一个模式一次性描述了一整套字符串。

标签: bash grep pattern-matching string-matching


【解决方案1】:

fgrep 等价于grep -Fegrep 等价于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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    相关资源
    最近更新 更多