在文件中查找字符串并替换为新字符串

时间:2020-06-08 18:02:23

标签: bash shell sed

我需要在我的项目目录中找到所有包含某些文本的文件。 这包括子目录。

我设法找到了所有文件:

find . -type f -exec grep -H 'Rename' {} \;

enter image description here

现在,我需要将关键字“重命名”替换为“ XYZ”,使每个文件中的其余文本保持不变。

想法?

1 个答案:

答案 0 :(得分:2)

sed而不是grep

find . -type f -exec sed -i 's/Rename/XYZ/g' {} \;

grep已经扫描了每个文件的所有行,因此您不会丢失任何内容。这只会在找到更改后进行更改,而不是打印出该行。

相关问题