Shell Script:如何在文件夹内递归查找和替换句子(不是单词)

Sri*_*tha 1 bash shell

问:考虑一个示例文件.txt:

世界你好你好你好你好世界

如何找到句子“Hello World”并将其替换为“Hai Universe”

世界海宇宙你好地狱你好海宇宙

我想在文件夹内的所有匹配文件中递归更改。

提前谢谢。

new*_*rey 7

尝试使用findsed

find . -type f -exec sed -i 's|Hello World|Hai Universe|g' {} \;
Run Code Online (Sandbox Code Playgroud)

这将直接递归地查找当前中的所有文件,然后分别sed对每个文件执行查找+替换。