我需要在我的项目目录中找到所有包含某些文本的文件。 这包括子目录。
我设法找到了所有文件:
find . -type f -exec grep -H 'Rename' {} \;
现在,我需要将关键字“重命名”替换为“ XYZ”,使每个文件中的其余文本保持不变。
想法?
答案 0 :(得分:2)
sed
而不是grep
。
find . -type f -exec sed -i 's/Rename/XYZ/g' {} \;
grep
已经扫描了每个文件的所有行,因此您不会丢失任何内容。这只会在找到更改后进行更改,而不是打印出该行。