在Linux中,如何查看每个文件并进行替换?

时间:2011-01-26 22:22:12

标签: linux unix grep

假设我想要遍历每个文件(递归地),并用以下内容替换所有文件:

{{ MEDIA_URL }}

使用:

{% media_url %}/

在我的所有文件中,我可以在Linux中运行什么命令以递归替换前者?

2 个答案:

答案 0 :(得分:6)

sed解决方案怎么样......

find ./ -type f -exec sed -i 's/{{ MEDIA_URL }}/{% media_url %}\//g' {} \;

更新:根据建议的评论者添加/ g

更新:以某种方式将unicode字符复制到那里

答案 1 :(得分:3)

尽可能使用 xargs 而不是 -exec 。使用 -exec ,您将为每个文件启动一个进程,而对于xargs,您将只有一个进程。您必须使用sed选项 -s 。当您有多个文件时,此命令会更快:

find ./ -type f | xargs sed -s -i 's/{{ MEDIA_URL }}/{% media_url %}\//g'