假设我有一些文件(在目录树中 - 例如,~/home
)可能是我正在寻找的东西:例如,我正在寻找一个字符串a.2
,并且我想将其更改为b.3
。我知道我可以通过运行列出它们grep -R 'a\.2' *
。这将显示匹配项,并以文件名开头。但是,我不知道如何替换它们。我怎样才能做到这一点?
答案1
没有理由双重读取文件(首先是 grep,接下来是 sed)
find . -type f -exec sed -i 's/a\.2/b\.3/g' {} +
假设我有一些文件(在目录树中 - 例如,~/home
)可能是我正在寻找的东西:例如,我正在寻找一个字符串a.2
,并且我想将其更改为b.3
。我知道我可以通过运行列出它们grep -R 'a\.2' *
。这将显示匹配项,并以文件名开头。但是,我不知道如何替换它们。我怎样才能做到这一点?
没有理由双重读取文件(首先是 grep,接下来是 sed)
find . -type f -exec sed -i 's/a\.2/b\.3/g' {} +