如何从文件中删除以不同字符串开头和结尾的行

时间:2017-04-08 09:43:59

标签: sed grep cut

我有一个这样的文件:

@          IN     NS                 ns1.riodomain.com.
@          IN     A                  192.175.3.255
@          IN     MX     10          root@ns1.riodomain.com.
mail       IN     A                  192.164.2.228
ns1        IN     A                  192.164.2.333

执行后我需要得到如下

@          IN     A                  192.175.3.255
@          IN     MX     10          root@ns1.riodomain.com.
mail       IN     A                  192.164.2.228
ns1        IN     A                  192.164.2.333

我需要删除具有特定模式的第一行。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

根据您的要求(字面意思):

  

我需要删除以 @ 开头并以字符串结尾的行    riodomain.com。 192.164.2.333

sed 方法:

sed -i '/^@.*\(riodomain\.com\.\|192\.164\.2\.333\)$/d' file

现在,文件内容应如下所示:

@ IN A 192.175.3.255
mail IN A 192.164.2.228
ns1 IN A 192.164.2.333

-i - 选项,用于修改文件

/d - flag,告诉删除与模式匹配的行