关闭

Linux sed 替换文本命令 实战在html页面使用

标签: 脚本
742人阅读 评论(0) 收藏 举报
分类:
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为;
在这本文只简单的介绍一下sed替换文本的命令,主要用户html页面的针对js以及css加上版本号,这样保证每次发布前端脚本的时候,实时拉到最新的js和css;
 sed的替换命令格式大致如下:
[address]s/pattern/replacement/flags

其中[address]是指地址,pattern是替换命令的匹配表达式,replacement则是对应的替换内容,flags是指替换的标志位,它可以包含以下一个或者多个值:
● n: 一个数字(取值范围1-512),表明仅替换前n个被pattern匹配的内容;
● g: 表示全局替换,替换所有被pattern匹配的内容;
● p: 仅当行被pattern匹配时,打印模式空间的内容;
● w file:仅当行被pattern匹配时,将模式空间的内容输出到文件file中;

下面是实例:
加上我们想在前端页面的发布脚步发布后,每次的页面js和css都会加上版本号及时更新,而避免缓存,导致修改了的页面久久不能生效,我们可以在自己的前端发布脚本上加上这句:

#当前时间作为版本号
ver=`date +%Y%m%d%H%M`
find $work/ -name "*.html" | xargs sed -i "s/\.css\"/.css?v=$ver\"/g"
find $work/ -name "*.html" | xargs sed -i "s/\.js\"/.js?v=$ver\"/g"
这样在发布的时候,就会在前端的页面上把引用的css和js文件上加上以当前的时间作为版本号,实时更新发布的js和css

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25729次
    • 积分:716
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条