使用sed替换替换指定行的日期部分

来源:互联网 发布:淘宝windows10激活码 编辑:程序博客网 时间:2024/05/17 05:19

原始信息如下(sqoop-metastore中shared.db.script配置):

INSERT INTO SQOOP_SESSIONS VALUES('job_test','incremental.last.value','2016-04-20 01:27:33.0','SqoopOptions')

需要将指定任务job_test中的时间修改为2015-12-15 00:00:00.0


sed "s/\(^INSERT INTO SQOOP_SESSIONS VALUES('job_test','incremental.last.value','\)[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\} [0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\.[0-9]\(','SqoopOptions')\)/\12015-12-15 00:00:00.0\2/" test5




解释说明:

sed和grep正则语法相同,只是别基本的正则表达式

awk和egrep正则语法相同,识别扩展的正则表达式


sed识别的元字符包括\(\)、\{\}、\<\>

\(\)用于保存正则表示部分,然后使用\1、\2进行回调保存部分

实际应用中使用变量替换job_test部分。

0 0