您的位置:首页 > 运维架构 > Linux

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

2016-08-29 14:30 507 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  脚本