假设我想要遍历每个文件(递归地),并用以下内容替换所有文件:
{{ MEDIA_URL }}
使用:
{% media_url %}/
在我的所有文件中,我可以在Linux中运行什么命令以递归替换前者?
答案 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'