当前位置: 技术问答>linux和unix
shell sed 替换字符串,高手求解
来源: 互联网 发布时间:2017-04-10
本文导语: 现在我有一个文件test.txt 如下 create table tb_con_contract create index idx_tb_con_contract_borrow_id revoke "informix".tb_con_contract safsdfdfd 我需要把文本中,有tb_的字符串,替换成字符串加日期的形式,如下: create table tb_con_con...
现在我有一个文件test.txt 如下
我需要把文本中,有tb_的字符串,替换成字符串加日期的形式,如下:
使用sed,请问如何做到呢?
小弟对正则半桶水,搞了半天也不行,只能求助朋友们了。
create table tb_con_contract
create index idx_tb_con_contract_borrow_id
revoke "informix".tb_con_contract safsdfdfd
我需要把文本中,有tb_的字符串,替换成字符串加日期的形式,如下:
create table tb_con_contract_20130503
create index idx_tb_con_contract_borrow_id_20130503
revoke "informix".tb_con_contract_20130503 safsdfdfd
使用sed,请问如何做到呢?
小弟对正则半桶水,搞了半天也不行,只能求助朋友们了。
|
好像这样就可以了:
[seesea@CSDN ~]$ cat file
create table tb_con_contract
create index idx_tb_con_contract_borrow_id
revoke "informix".tb_con_contract safsdfdfd
[seesea@CSDN ~]$ cat file | sed 's/tb_[^ ]*/&_20130503/g'
create table tb_con_contract_20130503
create index idx_tb_con_contract_borrow_id_20130503
revoke "informix".tb_con_contract_20130503 safsdfdfd
|
尽量少用cat
来个awk
sed 's/tb_[^ ]*/&_20130503/g' urfile
来个awk
awk '{for(i=1;i