shell sed 替换字符串,高手求解
现在我有一个文件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_contract_20130503
create index idx_tb_con_contract_borrow_id_20130503
revoke "informix".tb_con_contract_20130503 safsdfdfd
使用sed,请问如何做到呢?
小弟对正则半桶水,搞了半天也不行,只能求助朋友们了。 shell 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
sed 's/tb_[^ ]*/&_20130503/g' urfile
来个awk
awk '{for(i=1;i<=NF;i++)if($i~/tb_/)$i=$i"_20130503";print}' urfile