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

时间:2022-05-19 02:00:16

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

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

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

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

1.1方法1:鲍哥的for循环

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

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

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

1.2方法2:sed替换

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

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

sed -r 支持正则

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

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

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

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

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

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

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

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