在多个文件中搜索和替换文本

在多个文件中搜索和替换文本

我正在迁移我的博客,所有帖子在文件顶部都有元数据。结果,我在一个目录中有一组近 100 个文件,我想在其中搜索和替换:

^permalink: http://blog.olddomain.com/(.*)$

permalink: http://blog.newdomain.com/$1

在所有 100 个文件中。

我将使用什么命令来执行此操作?

答案1

sed通常用于通过它进行某些操作,但它也可以处理文件,并且使用该-i选项甚至可以就地更改它们。

sed -i 's|^\(permalink: http://blog\.\)olddomain\(\.com/.*\)$|\1newdomain\2|g' <shell-glob-pattern>

相关内容