Shell脚本:如何在文件夹中递归查找和替换句子(而不是单词)

时间:2012-08-23 19:28:29

标签: bash shell

Q值。考虑一个示例file.txt:

  

World Hello world Hello Hell Hello Hello world

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

  

World Hai Universe Hello Hell Hello Hai Universe

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

预先谢谢。

2 个答案:

答案 0 :(得分:3)

尝试将findsed

一起使用
find . -type f -exec sed -i 's|Hello World|Hai Universe|g' {} \;

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

答案 1 :(得分:0)

您可以在Unix中使用sed命令尝试这样的事情。

sed -i 's/Hello World/Hai Universe/g' filename