gpt4 book ai didi

regex - 苹果机 : replace text inside files in directory using regular expression

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:53 24 4
gpt4 key购买 nike

我需要将目录中的所有匹配项(正则表达式)从“*::”替换为“\*::”示例:(在多个 php 文件中)

ID::
user::
process::

....

成为:

\ID::
\user::
\process::

我目前使用的是单个命令

find . -type f -name '*.php' -exec sed -i '' s/ID::/\\\\ID::/ {} +
find . -type f -name '*.php' -exec sed -i '' s/user::/\\\\user::/ {} +
find . -type f -name '*.php' -exec sed -i '' s/process::/\\\\process::/ {} +

如何编写正则表达式来替换任何 "*::"=> "\*::"

谢谢,

最佳答案

您想使用“分组”或“反向引用”来反向引用正则表达式的一部分。这是通过用 \(\) 围绕预期的组,并用 \1\2 引用它们来完成的 等。在您的情况下,以下表达式应该有效:

$ echo -e "ID::\nuser::\nprocess::" | sed 's/\(.*\)::/\\\1::/g'

输出如下:

\ID::
\user::
\process::

关于regex - 苹果机 : replace text inside files in directory using regular expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31471683/

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