在 bash 上替换 sed 的问题

Issue with substitute sed on bash

本文关键字:问题 sed 替换 bash      更新时间:2023-09-26

我遇到了一个问题。我的服务器被恶意脚本入侵了。它在我的服务器上的所有网站上添加了以下代码。

<script type='text/javascript' src='http://siu.edu.bd/includes/framework.js'></script>

首先,我想从服务器上的所有 php 文件中删除它。我想使用以下 sed 命令,但有些事情我得到了一个返回错误,上面写着:

"Syntax error near unexpected token '<'"

这是我尝试过的代码

find /home -type f | xargs sed -i 's$<script type=''text/javascript'' src=''http://siu.edu.bd/includes/framework.js''></script>$ $g'

我不明白为什么它不起作用..

提前感谢 ,

安塞尔梅

sed 中的错误引用问题,请使用:

sed "s~<script type='text/javascript' src='http://siu.edu.bd/includes/framework.js'></script>~ ~g" 

命令中的问题是,在 shell 中您可以使用 '' 转义单引号,这就是为什么最好在 sed 中使用双引号和不同的正则表达式分隔符~如上所示。