【问题标题】:Delete text in file using bash script in CentOS在 CentOS 中使用 bash 脚本删除文件中的文本
【发布时间】:2012-07-02 01:25:47
【问题描述】:

我是印度尼西亚的学生,我想创建一个脚本,从包含以下文本的文件中删除几行:

zone "irf.com" {
type master;
file "db.irf.com";
allow-update { none; };
};

zone "friedrice.com" {
type master;
file "db.friedrice.com";
allow-update { none; };
};

zone "you.com" {
type master;
file "db.you.com";
allow-update { none; };
};

如果我想删除这个:

zone "friedrice.com" {
type master;
file "db.friedrice.com";
allow-update { none; };
};

在终端中我可以运行: sh you.txt friedrice

shell编程中的语法是怎样的?

所有文本都在一个文件中,比如说you.txt

我是新手,请帮帮我

【问题讨论】:

  • 请..不要命名你的配置或脚本文件*.txt...
  • 虽然您已经收到了对具体问题的一些很好的答案,但它们相当于使用非结构化工具来操作结构化数据。您有区域数据,而不是 XML,但这是一个细节;这与stackoverflow.com/questions/701166/… 的问题基本相同

标签: bash shell centos5


【解决方案1】:
sed -i '/^zone "friedrice.com"/,/^}/d' you.txt

【讨论】:

  • 我可以要你的电子邮件吗?所以我在linux中有一些问题我可以问你,非常感谢你先生:)
  • @achmadirfan:如果您还有其他问题,请在 Stack Overflow 上发布。
【解决方案2】:

使用这个:

sed -i -E -n '1h;1!H;${;g;s/zone "friedrice.com" {[^}]*};\n};//g;p;}' you.txt

【讨论】:

    猜你喜欢
    • 2013-05-18
    • 2021-01-17
    • 2018-10-03
    • 2021-09-04
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2012-01-27
    • 2015-05-27
    相关资源
    最近更新 更多