Linux 命令
sed
和grep
命令结合可以对文件夹下的所有特定字符串进行快速替换,本文记录方法。
cd etc
grep -rn "查找的内容" ./
grep -rn "cdn.jsdelivr.net/gh/zywvvd/HexoImages" ./
->
$ grep -rn "cdn.jsdelivr.net/gh/zywvvd/HexoImages" ./
./notes/coding/dataset/mongodb/MongoDB.md:120:![](http://101.43.39.125/6111/image_canglan/20210210172541.png)
./notes/coding/doc/design_document/design_document.md:80:![](http://101.43.39.125/6111/win11-mt/20210922111023.png)
./notes/coding/doc/design_document/design_document.md:82:![](http://101.43.39.125/6111/win11-mt/20210922111144.png)
./notes/coding/doc/design_document/design_document.md:88:![](http://101.43.39.125/6111/win11-mt/20210922111356.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:59:![](http://101.43.39.125/6111/vvd-dell-2021-win-10/20210726140732.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:61:![](http://101.43.39.125/6111/win11-mt/20210727093358.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:63:![](http://101.43.39.125/6111/vvd-dell-2021-win-10/20210726141414.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:65:![](http://101.43.39.125/6111/vvd-dell-2021-win-10/20210726141623.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:71:![](http://101.43.39.125/6111/vvd-dell-2021-win-10/20210726162809.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:73:![](http://101.43.39.125/6111/vvd-dell-2021-win-10/20210726150048.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:79:![](http://101.43.39.125/6111/vvd-dell-2021-win-10/20210726163922.png)
./notes/coding/halcon/halcon-20-11-install/halcon-20-11-install.md:108:![](http://101.43.39.125/6111/vvd-dell-2021-win-10/20210726191912.png)
./notes/coding/internet/ddns/ddns.md:23:![](http://101.43.39.125/6111/files/20211230205645.png)
...
cd etc
sed -i "s/查找的内容/替换后的内容/g" `grep -rl "查找的内容" ./`
cdn.jsdelivr.net/gh/zywvvd/HexoImages
字符串替换为 cdn.jsdelivr.net/gh/zywvvd/HexoFiles
字符 /
需要用 \
字符进行转义sed -i "s/cdn.jsdelivr.net\/gh\/zywvvd\/HexoImages/gitee.com\/zywvvd\/HexoImages\/raw\/main/g" `grep -rl "cdn.jsdelivr.net\/gh\/zywvvd\/HexoImages" ./`
sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本" /任意文件夹`