我花了几个小时搜索,找不到解决方案.我有一个包含超过1,000个PHP文件的目录.我需要替换这些文件中的一些代码,如下所示:
查找:
session_register("CurWebsiteID");
Run Code Online (Sandbox Code Playgroud)
替换为(保存在replacement.txt中:
if(!function_exists ("session_register") && isset($_SERVER["DOCUMENT_ROOT"])){require_once($_SERVER["DOCUMENT_ROOT"]."/libraries/phpruntime/php_legacy_session_functions.php");} session_register("CurWebsiteID");
Run Code Online (Sandbox Code Playgroud)
使用下面的命令,我可以用$(cat replacement.txt)替换模式,而我正在寻找用文本文件的内容替换它们.
正在使用的命令:
find . -name "*.xml" | xargs -n 1 sed -i -e 's/mercy/$(cat replacement.txt)/g'
我也试过使用变量而replacement=code_above;运行调整后的版本,$(echo $replacement)但这也无济于事.
实现这一目标的正确方法是什么?
这里不需要命令替换.您可以使用sed r命令插入文件内容并d删除与模式匹配的行:
find . -name "*.xml" | xargs -n 1 sed -i -e '/mercy/r replacement.txt' -e '//d'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |