linux sed命令查询结果前后批量追加内容(html文件批量修改css,js等文件路径)

1.需求:linux使用shell命令查询结果前后批量追加内容

例如:我需要在当前目录下所有的css文件路径前追加域名

我想的是用sed替换去实现,鲍哥的思路是用for循环

1.1方法1:鲍哥的for循环

这是鲍哥的思路,我写出来后,鲍哥说很二.

for i in `find . -type f -name '*.css'`;do echo 'http://www.baidu.com/css/'$i;done

1.2方法2:sed替换

find . -type f -name '*.css'|sed -rn 's#(^.*)#'http://www.baidu.com/css/'\1#gp'

 

sed -r 支持正则

(^.*) 是find查找出来的结果通过管道,传送给sed正则匹配。也就是./icon.css等本地路径

'http://www.baidu.com/css/'\1 这个\1就是刚才sed正则(^.*)匹配出来的内容,

然后可以在前后批量追加你想要的内容。

命令并不完美,路径中间带点.如果各位客官有更好的命令欢迎留言。

2.需求:html文件css,js,img等路径批量替换

例如:我需要在js文件路径前批量添加js目录

sed -i 's#^\(.* src="\)\(.*\.js.*\)$#\1js/\2#g'  文件名

 

posted @ 2017-02-15 09:51  爱尔兰时空  阅读(1930)  评论(0编辑  收藏  举报