Linux通过sed&grep批量查找替换字符串
sed+grep配合使用即可实现。当然还有更多方式,例如find搭配perl、awk等,自己摸索吧
警告:本文记录的修改方式将直接修改原文件,请做好文件备份!!!!!
格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sed -i
"s/oldstring/newstring/g"
`
grep
oldstring -rl yourdir`
sed -i
"s/查找字段/替换字段/g"
`
grep
查找字段 -rl 路径`
或者
grep
-
tl
yourdir | xargs sed -i
"s/oldstring/newstring/g"
grep
-rl 查找字段 路径|xargs sed -i
"s/查找字段/替换字段/g"
背景
最初搭建Hexo时,为了图省事就在github上开了一个图床,由于公司内网浏览github畅通无阻,因此丝毫没有感觉有什么问题。直到女朋友有一天打开了我的网站,发现所有图片都无法加载出来,事实上移动端数据流量访问时都会加载失败,不知道是github在墙外还是什么原因,反正就是用不了。所以需要考虑换个新图床,等腾讯云的对象存储配置好后,就需要批量将原有的文章内的图片链接更换成腾讯云的访问链接。
场景
文章在同一文件夹下,且全部为.md格式。单个文件内有多个旧图片链接,需要批量将整个文件夹下、所有文件内的旧链接换成新链接。
1
2
3
4
5
6
7
旧链接:raw.githubusercontent.com
/YuanZhou314/
PicRepo
/main/img
s
新链接:xxx-xxx-
.cos.ap-xxxxxxxx.myqcloud.com
解决
1
2
3
4
5
6
7
8
9
sed -i
"s
#raw
.githubusercontent.com/YuanZhou314/PicRepo/main/imgs
#xxx-xxx-1234567890
.cos.ap-xxxxxxxx.myqcloud.com
#g
"
`grep -rl .`
命令解读
Linux通过sed&grep批量查找替换字符串
https://zhouyinglin.top/2022/08/11/Linux通过sed&grep批量查找替换字符串/