删除两个令牌之间的文本,包括makefile中的令牌

时间:2017-10-03 08:17:54

标签: makefile

我有一个主机文件,其中有两个标记某处,我需要删除两个标记之间的所有行,包括标记。

我在另一个问题中找到了这个命令:

cat hostfile | grep -P '(?<=##STARTMARK).*(?=##ENDMARK)'

但仍留有标记。

我目前有这个

127.0.0.1 home-host.dev

##STARTMARK
127.0.0.1 a-blocked-host.com
##ENDMARK

我想要这个

127.0.0.1 home-host.dev

1 个答案:

答案 0 :(得分:1)

尝试使用sed

sed '/##STARTMARK/,/##ENDMARK/d' hostfile
127.0.0.1 home-host.dev

请注意,第二行(即空白行)将被保留,因为它们不会被令牌作为您的标准所接受。