我想在Fedora系统上同时修改数千个HTML文件。
将style.css
替换为../headers.css
并替换您可以在此处看到的另一条长链:http://pastebin.com/PHAz8Q4C
答案 0 :(得分:1)
我建议使用像sed
这样的工具,它可以对文件进行文本/正则表达式替换。
将此与find
和xargs
相结合是一个良好的开端,可以使其适用于大量文件。
因此,例如,您可以执行类似
的操作 find -name "*.html" -print0 | xargs -0 sed -i 's#style.css#../headers.css#g'
由于无法撤消此操作,我建议备份文件以防万一(或使用版本控制!)
编辑: 有关如何将其扩展到其他搜索/替换术语(如您的pastebin)的指南:
同样的想法。只要确保你正确逃脱一切。作为一个可以让你更进一步的解释...
find
找到所有html
个文件xargs
在每个文件后面运行命令sed
执行替换-i
告诉sed
执行此操作s
告诉Substitute
style.css
是要替换的内容../headers.css
是用g
告诉它替换文件中的所有匹配项。 答案 1 :(得分:0)
对于您的长代码,您可以尝试以下代码:
find . -name "*.html" -exec sed -i 's#<a href="\.\./index.html">«</a> <h1>\(.*\)</h1>#<section class="skin-organic" role="region">\n <header>\n <a href="../index.html"><span class="icon icon-back">back</span></a>\n <h1>\1</h1>\n </header>\n</section>#g' {} \;