使用Python从文件中删除任意行文本?

时间:2012-01-24 00:19:56

标签: python

给出以下示例文件:

host wallmount {
    option root-path "iscsi:10.0.0.202::::iqn.2012-01.com.enactpc:storage.wall_mount";
    hardware ethernet 00:15:c5:71:b9:68;
    }

host netbook {
    option root-path "iscsi:10.0.0.202::::iqn.2012-01.com.enactpc:storage.netbook";
    hardware ethernet 00:21:70:bb:4e:95;
    }

host laptop {
    option root-path "iscsi:10.0.0.202::::iqn.2012-01.com.enactpc:storage.laptop";
    hardware ethernet 00:1b:38:4c:62:40;
    }

是否可以采用已知的“主机名”(例如“wallmount”)并自动删除它的整个声明?

P.S。这是Linux下的DHCP配置文件......我不知道这是否有帮助。

1 个答案:

答案 0 :(得分:1)

我用sed来做,这可以很简单:

/host wallmount/,/}/ d

这不是完全健壮的(因为它并不完全理解配置的真正解析器可能做的所有语法),但如果您的输入非常规则,那么它应该可以正常工作。 / p>

如果您不知道sed,请使用以上命令编辑文件:

sed -i '/host wallmount/,/}/ d' thefile.cfg