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号要收费,收费我来百度知道干嘛?
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系统批量替换文件中的字符的主要内容,如果未能解决你的问题,请参考以下文章