【问题标题】:shell script search and replace sting value with dateshell脚本搜索并用日期替换字符串值
【发布时间】:2016-10-28 20:03:13
【问题描述】:

脚本 abc.ksh 应该替换文件 xyz.sql 的值如下

搜索字符串 "%s_sitename as of date "+%Y-%b-%e"" 每次我们执行 abc.ksh 时,日期都会随着 sysdate 发生变化

s1='%s_sitename%[a-z][0-9]/-'
s2='%s_sitename%'"$(date "+%Y-%b-%e")"
sed -i 's/'"$s1"'/'"$s2"'/g' xyz.sql       

abc.sql 文件每次都应该用下面的 sysdate 更新

"%s_sitename% as of 2016-Jun-22"

电流来了,我得到如下有线输出

【问题讨论】:

    标签: linux shell date sed ksh


    【解决方案1】:
    s1='%s_sitename% as of [a-zA-Z0-9-]*'
    s2='%s_sitename% as of '"$(date "+%Y-%b-%e")"
    sed -i 's/'"$s1"'/'"$s2"'/g' xyz.sql
    

    测试:

    echo "%s_sitename% as of 2005-Apr-02" | sed 's/'"$s1"'/'"$s2"'/g'
    

    输出:

    %s_sitename% 截至 2016 年 6 月 26 日

    见:The Stack Overflow Regular Expressions FAQ

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-21
      • 2021-07-08
      • 1970-01-01
      • 2016-09-03
      • 2014-11-24
      • 2021-04-11
      • 1970-01-01
      • 2019-03-01
      相关资源
      最近更新 更多