gpt4 book ai didi

regex - Grep 和 % 百分比符号

转载 作者:行者123 更新时间:2023-11-29 09:46:14 31 4
gpt4 key购买 nike

在命令行上使用 grep 时,如果使用 % 百分号,我会得到不同的结果。

我希望这个表达式匹配它不返回任何内容:

bash-4.1$ echo ' (in=Gen)' | grep -in '*(*)'

但是,如果我包含一个前导百分比字符,它就是一个匹配项:

bash-4.1$ echo ' (in=Gen)' | grep -in '%*(*)'
1: (in=Gen)

百分号 % 是 grep 中的特殊字符还是控制字符?查看可用的文档,我没有看到任何对它的引用。

最佳答案

如果您输入任何其他(有效)字符,也会有匹配项,例如使用 ,:

% echo ' (in=Gen)' | grep -in ',*(*)'
1: (in=Gen)

问题出在你的模式上,*(*),在这里:

  • * 表示匹配零个或多个前面的标记,因为没有前面的标记它匹配 * 字面意思。由于不存在 *,因此模式不匹配任何内容

%*(*) 中:

  • %* 表示匹配 % 零次或多次,因为没有 % 存在,grep %* 不匹配;在这种情况下 grep 只匹配最后一个 )

关于regex - Grep 和 % 百分比符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41981586/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com