我正在尝试使用
我已经尝试了许多方法来实现这个目标,但在
以下是我要做的事情的示例:
sed
从文件中删除html代码块。要删除的块在文件中出现多次,且跨越多行。注意,该块内容不同,但有清晰的起始和结束标记。我已经尝试了许多方法来实现这个目标,但在
sed
中实现惰性匹配和跨行匹配时遇到了问题。以下是我要做的事情的示例:
good stuff a
good stuff same line START
bad stuff 1.0
bad stuff 1.1
END
good stuff b
good stuff b
good stuff same line START bad stuff 2.0
bad stuff 2.0
END
good stuff c
Becomes:
good stuff a
good stuff same line
good stuff b
good stuff b
good stuff same line
good stuff c
以下是我迄今为止尝试过的几种方法。
sed -n '1h;1!H;${;g;s/START.*END//mg;p;}' < test > test2
通过跨越多行进行处理。
sed -n 's/START[^END]*END//g' < test > test2
只否定了E或N或D。
sed -n 's/START.*?END//g' < test > test2
懒惰模式未能实现。
谢谢。