perl – 使用单行命令删除多行模式

前端之家收集整理的这篇文章主要介绍了perl – 使用单行命令删除多行模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想删除文件中的所有空段.

空段可以由一对以START开头并以END结尾的连续行指定.有效段将在以START开头并以END结尾的行之间具有一些内容

样本输入

Header

START arguments
END

Any contents

START arguments
...
something
...
END

Footer

期望的输出

Header


Any contents

START arguments
...
something
...
END

Footer

在这里,我正在寻找可能的一个衬垫.任何帮助,将不胜感激.

试验

我试过跟随awk.它在某种程度上起作用,但它甚至在有效段中删除了START行.

awk '/^START/ && getline && /^END$/ {next} 1' file

解决方法

仅限 gawk

awk -v RS='START[^\n]*\nEND\n' '{printf "%s",$0}' file.txt

猜你在找的Perl相关文章