SED命令不替换实际文件

时间:2014-10-08 07:53:43

标签: bash sed

我正在从Django 1.4迁移到1.6,我必须更换所有的行 {% URL test arg1...%}{% URL "test" arg1...}

我使用了以下命令:
find ./ -type f -exec sed 's/{% url \([^" >][^ >]*\)/{% url "\1"/g' *.html '{}' \;

它打印所需的输出但不在实际文件中进行更改?缺少什么?

1 个答案:

答案 0 :(得分:1)

来自sed的手册:

-i[SUFFIX], --in-place[=SUFFIX]
    edit files in place (makes backup if SUFFIX supplied)

因此,您应该添加-i选项来“修改文件”。

整个命令:

find ./ -type f -exec sed -i 's/{% url \([^" >][^ >]*\)/{% url "\1"/g' *.html '{}' \;