linux系统批量替换文件中的字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统批量替换文件中的字符相关的知识,希望对你有一定的参考价值。

该目录下有多层子目录,每个子目录中有若干个.shtml文件,现在需要批量替换.shtml文件中的如下内容
将如下内容:
<div class="zmcon-sm"><strong>声明:</strong>凡注来源“测试网”以及标有“测试网整理”字样的稿件,未经测试网书面授权不得以任何方式转载,已授权转载的须注明来源为“测试网”。</div>
替换成:
<div class="zmcon-sm"><strong>声明:</strong>凡注来源“测试网”字样的稿件,未经新文化报书面授权不得以任何方式转载,已授权转载的须注明来源为“测试网”。</div>

其实就是替换 “声明:” 与 “ </div>”之间的内容。

也可以替换整行
----------------------------------------------

我找到了sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录` 这个命令,但是需要替换的内容太长了,而且其中还带有各种标点符号,我就不会了。。。 请教了。
楼下给个QQ号要收费,收费我来百度知道干嘛?

for i in $(find . -type f -name "*.shtml");do
sed -i 's/<div class="zmcon-sm"><strong>声明:<\\/strong>凡注来源"测试网"以及标有"测试网整理"字样的稿件,未经测试网书面授权不得以任何方式转载,已授权的须注明来源为"测试网"。<\\/div>/<div class="zmcon-sm"><strong>声明:<\\/strong>凡注来源"测试网"字样的稿件,未经新文化报书面授权不得以任何方式转载,已授权的须注明来源为"测试网"。<\\/div>/g' $i
done


注意里面的标点符号,我测试的时候字符串里面的双引号是使用的英文双引号。

参考技术A 没问题, 这个可以帮忙编写一个sed 的shell程序来搞定的哦
能否看看wo 的网名啊 ?帮忙搞定一下 啊

以上是关于linux系统批量替换文件中的字符的主要内容,如果未能解决你的问题,请参考以下文章

linux系统替换文件怎么替换

linux下批量查询文件内容字符串并替换

shell :linux sed 批量替换字符串

Linux批量查找与替换

linux下批量替换文件内容

Perl 使用perl命令批量替换文件内容