regex - Sed 不使用正则表达式

标签 regex linux bash sed

我有一个从外部更改的 file.php,行如下:

echo "\n<!-- BEGIN APP v" . APP_VERSION . " - http://saite.com/ -->\n";

知道它仍然会遵循的模式,我需要用换行符来抑制这条消息。

但我找不到办法。我尝试从终端运行这段代码:

PAT="<!-- BEGIN APP [^>]+>"
TO=""
sed -i "s/$PAT/$TO/g" file.php

但是文件没有改变。

最佳答案

我已经设法通过在正则表达式中使用 * 而不是 + 和附加选项 -r 来解决这个问题。

sed -i -r ...

感谢@tripleee 和@andlrc

关于regex - Sed 不使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38041430/

相关文章:

java - 正则表达式从 founded 关键字替换为 next &

java - 如何获取文本所属的数组

regex - Vb.net Regex - 从字符串中删除 html 标签

python - 无法在 Python (Linux) 中获取当前目录路径

linux - 将 awk 日志保存在尾部后的命令

bash - HandBrakeCLI 命令中断 while 循环?

bash - bash中 'let'的奇怪错误

bash - 如何在 bash 中进行二进制加法

javascript - 在变量中使用正则表达式验证字符串

ruby-on-rails - 保持 rake 作业运行