Shell 将子孙文件中包含 aaa 的全部替换成 bbb
下面的以将 dsig.cn
替换为 bdev.cn
为例
find . -type f -exec sed -i 's/dsig\.cn/bdev\.cn/g' {} +
命令说明:
find . -type f
:从当前目录(.
)开始递归查找所有文件(-type f
表示只匹配普通文件)。
-exec sed -i 's/dsig\.cn/bdev\.cn/g' {} +
:
sed -i
:直接修改文件内容(-i
表示就地编辑)。
s/dsig\.cn/bdev\.cn/g
:将文件中所有的 dsig.cn
替换为 bdev.cn
,.
需要转义为 \.
以匹配实际的点号,/g
表示全局替换。
{} +
:将 find
找到的文件传递给 sed
处理。
注意事项:
示例:
假设当前目录下有文件 test.txt
,内容为:
Visit dsig.cn for more info.
Another line with dsig.cn here.
运行命令后,test.txt
内容变为:
Visit bdev.cn for more info.
Another line with bdev.cn here.