如何使用sed命令批量替换文件中的指定URL链接
用sed批量替换文件中的指定URL
可行命令
直接执行以下sed命令即可完成需求:
sed -i -e 's|https://i.sstatic.net/Zw5ZK.png|https://abc/1.png|' -e 's|https://i.sstatic.net/cT8Pv.png|https://abc/2.png|' -e 's|https://i.sstatic.net/L3Syn.png|https://abc/3.png|' 1.txt
命令细节
-i:直接修改1.txt原文件内容(macOS系统需改为-i '')- 多个
-e参数:每个参数对应一条替换规则,用|作为分隔符是为了避免和URL中的/产生冲突
按行匹配的替代写法
如果不想指定原URL,也可以按行号精准替换,命令如下:
sed -i -e '1s|https://.*\.png|https://abc/1.png|' -e '2s|https://.*\.png|https://abc/2.png|' -e '3s|https://.*\.png|https://abc/3.png|' 1.txt
这个命令会:
- 对第1行,替换掉所有
https://开头、.png结尾的内容 - 第2、3行同理替换为对应新链接
内容的提问来源于stack exchange,提问作者Tom Xue
相关产品推荐
相关产品推荐

