我有包含此块的模板:
{% extends 'core/master.html' %}
{% block content %}
{% block text %}
{{ content }}
{% endblock %}
{% endblock %}
大约有50个html模板。
不需要此块,我想将其删除。
不幸的是,它周围的空白变化(有时更多的空白,有时更少......)
如何一次编辑N个html模板?
我想在命令行上执行此操作。
答案 0 :(得分:1)
假设您正在寻找执行搜索和替换文本(具有较小的空白变体),那么请考虑使用命令行perl one-liner,如This BLOG中讨论的那样,或者更好地在{{3 }}。 我使用的是mac,但这应该在其他* nix系统上运行相似。 我最初看了This page但是这个提议的解决方案似乎不适用于处理诽谤文件的修改
以下是一个简单的多行替换示例:
find . -name '*.txt' | xargs perl -i -0pe 's/peter\s+is\s+good//mg'
稍微混乱的部分正在构建正确的正则表达式。我通过创建一些符合以下规范的示例文件来运行几个测试,它看起来像预期的那样工作。
find . -name '*.html' | xargs perl -i -0pe 's|\{\%\s+extends\s+.core/master.html.\s+\%\}\s+\{\%\s+block\s+content\s+\%\}\s+\{\%\s+block\s+text\s+\%\}\s+\{\{\s+content\s+\}\}\s+\{\%\s+endblock\s+\%\}\s+\{\%\s+endblock\s+\%\}||xosmg'
请注意,正则表达式包含多个一个或多个空格\ s +匹配项,您还需要转义特殊字符'{','}'和'%'
初步测试表明这适用于您的示例。