如何实现shell中使用sed,while循环等替换文件中的链接?

sh/bash/dash/ksh/zsh等Shell脚本
回复
juniz
帖子: 45
注册时间: 2010-04-07 16:51
送出感谢: 0
接收感谢: 0

如何实现shell中使用sed,while循环等替换文件中的链接?

#1

帖子 juniz » 2017-05-14 23:34

如何实现shell中使用sed,while循环等替换文件中的链接?

假设

file1文件中含有若张图片链接,每个图片链接独占一行

代码: 全选

#cat file1
文字文字文字文字
<img src="http://www.aaa.com/01.jpg"/>
文字文字文字
<img src="http://www.aaa.com/03.jpg"/>
文字文字文字文字
<img src="http://www.aaa.com/33.jpg"/>
文字文字文字文字
<img src="http://www.aaa.com/55.jpg"/>
文字文字文字文字
...
file2文件中含有同样数量图片链接列表,每个图片链接独占一行

代码: 全选

#cat file2 
http://www.bbb.com/23.jpg
http://www.bbb.com/34.jpg
http://www.bbb.com/55.jpg
http://www.bbb.com/78.jpg
...
将file1中所有图片链接,按files2顺序依次替换,结果如下file3:

代码: 全选

#cat file3
文字文字文字文字
<img src="http://www.bbb.com/23.jpg"/>
文字文字文字
<img src="http://www.bbb.com/34.jpg"/>
文字文字文字文字
<img src="http://www.bbb.com/55.jpg"/>
文字文字文字文字
<img src="http://www.bbb.com/78.jpg"/>
文字文字文字文字
...
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
送出感谢: 42 次
接收感谢: 9 次
联系:

Re: 如何实现shell中使用sed,while循环等替换文件中的链接?

#2

帖子 millenniumdark » 2017-09-10 23:50

1. 循环读取 file2 的每一行
2. 当前行存为一个变量
3. sed 匹配链接并替换
谢宝良
帖子: 1979
注册时间: 2010-05-01 21:23
送出感谢: 4 次
接收感谢: 21 次

Re: 如何实现shell中使用sed,while循环等替换文件中的链接?

#3

帖子 谢宝良 » 2017-09-13 18:29

sed不熟悉,awk的话倒是毫无压力。
回复

回到 “Shell脚本”