shell文本判断问题

本帖最后由 sunsansheng_cu 于 2011-06-02 23:52 编辑

一个文本 1.perl
里面有各种sql语句
select * from xxxx;
insert into .....;


我想在比如 select、insert....等等指定关键字前面插入(A),在关键字后第一个分号";"后面插入(/A)

应该怎么写啊 多谢各位大师

hp-unix的系统

作者: sunsansheng_cu   发布时间: 2011-06-02

没明白什么意思。。。

select * from xxxx;
insert into .....;

变成

(A)select * from xxxx;(/A)
(A)insert into .....;(/A)

??

作者: sk1418   发布时间: 2011-06-02

回复 sunsansheng_cu
  1. $ echo 'select * from xxxx;yyy;zzz;
  2. ddd;insert into .....;aaa;bbb;
  3. 111;222;444;'  |sed -r 's/(.*)((select|insert)[^;]*;)(.*)/\1(A)\2(\/A)\3/'
  4. (A)select * from xxxx;(/A)select
  5. ddd;(A)insert into .....;(/A)insert
  6. 111;222;444;
复制代码

作者: yinyuemi   发布时间: 2011-06-02



QUOTE:
没明白什么意思。。。

select * from xxxx;
insert into .....;

变成

(A)select * from xxxx;(/A ...
sk1418 发表于 2011-06-02 23:45




    是的~~谢谢

作者: sunsansheng_cu   发布时间: 2011-06-02



QUOTE:
回复  sunsansheng_cu
yinyuemi 发表于 2011-06-02 23:45




    sed: illegal option -- r
Usage: sed [-n] [-e script] [-f source_file] [file...]

兄弟好,有可能sed版本过低. hp unix uname = B.11.11 U 9000/800

sed --version无结果

作者: sunsansheng_cu   发布时间: 2011-06-02