如何替换与此正则表达式匹配的所有文件中的正则表达式

如何替换与此正则表达式匹配的所有文件中的正则表达式

假设我有一些文件(在目录树中 - 例如,~/home)可能是我正在寻找的东西:例如,我正在寻找一个字符串a.2,并且我想将其更改为b.3。我知道我可以通过运行列出它们grep -R 'a\.2' *。这将显示匹配项,并以文件名开头。但是,我不知道如何替换它们。我怎样才能做到这一点?

答案1

没有理由双重读取文件(首先是 grep,接下来是 sed)

find . -type f -exec sed -i 's/a\.2/b\.3/g' {} +

相关内容