>我正在尝试在目录中使用 sed 进行批量更改,从 {{ form|as_bootstrap }}
到 {% bootstrap_form form %}
,但"form"可以是任何名称,如"process_form"或"user_form"。
我找到了一个列出所有这些的 grep:grep -r '{{ [a-z_.]*^|as_bootstrap }}' ./
所以我正在尝试使用这个 grep/sed 命令,但它不起作用:
grep -rl '{{ [a-z_.]*^|as_bootstrap }}' ./ | xargs sed -Ei s@'{{ ([a-z_.]*)^|as_bootstrap }}'@'{% bootstrap_form 1 %}'@g
你能指出我 sed 正则表达式中的错误吗?
转义{
并在sed扩展模式(-E
(中}
。但您也可以使用 BRE 模式来避免转义卷曲制动器:
sed 's/{{ ([^|]*)|as_bootstrap }}/{% bootstrap_form 1 %}/'