从帖子中删除所有以此ID开头的图像


Remove All Images Starting With This ID From Posts

我有大约300篇Wordpress文章,在每一篇文章上都有一个我过去使用过的服务的"跟踪像素"(他们使用IMG标签来做到这一点)

它看起来像这样:

<img id="serviceTrack_3274570" style="margin: 0px !important; padding: 0px !important;" src="https://example-domain/e/ir?source=example148522" alt="example" width="0" height="0" border="0" />

(每个跟踪像素有不同的serviceTrack_ID)。

我想从我所有的帖子中删除所有这些img id(删除图像)。我该怎么做呢?

假设您有必要的权限,您可以转储db:

mysqldump -u yourUserName -p yourDatabaseName wp_posts > posts.sql

则替换字符串:

find /path/where/you/put/dump/posts.sql -type f -exec sed -i 's/<img id="serviceTrack_*" 
 style="margin: 0px !important; padding: 0px !important;" 
 src="https://example-domain/e/ir?source=example148522" alt="example" width="0" height="0" 
 border="0" />//g' {} ';

然后重新导入表

mysqlimport -u yourUserName -p yourDatabaseName wp_posts < posts.sql

免责声明:我没有在实际数据上测试过replace命令。我建议您在尝试任何操作之前备份数据,并在覆盖您的实时数据之前在虚拟安装中进行测试。