使用CentOS中的bash脚本删除文件中的文本

时间:2012-07-01 06:18:52

标签: bash shell centos5

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

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

我是新手,所以请帮帮我

2 个答案:

答案 0 :(得分:0)

使用此:

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

答案 1 :(得分:0)

sed -i '/^zone "friedrice.com"/,/^}/d' you.txt