sed在文本匹配结束后删除多行

时间:2014-11-18 17:16:26

标签: regex bash sed

使用sed删除从联系人姓名到最后*

的所有内容
Contact names

    *********************************************************************************
    CREATE DATABASE phpdb CHARACTER SET utf8 COLLATE utf8_bin;
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX
    FLUSH PRIVILEGES;
    *********************************************************************************

我到目前为止

^Contact\ names.*

2 个答案:

答案 0 :(得分:0)

您可以使用:

sed -i.bak '/Contact names/,$d' file

答案 1 :(得分:0)

使用

$ cat file
foobar1

Contact names

    *********************************************************************************
    CREATE DATABASE phpdb CHARACTER SET utf8 COLLATE utf8_bin;
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX
    FLUSH PRIVILEGES;
    *********************************************************************************

foobar2

代码:

$ perl -0pe 's/^Contact names.*?\*{81}.*?\*{81}//sm' file
foobar1



foobar2