gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:51:32 24 4
gpt4 key购买 nike

我想删除文件中的所有空段

空段可以通过一对以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

最佳答案

perl -00 -pe 's/START .*?\nEND//g' file

这是一个更好的。我之前给出的解决方案将丢弃整个段落(如果它们没有用空行分隔)。

以下之前的回复:

这个 Perl One 衬垫怎么样?

perl -00 -ne 'print if not /START .*\nEND/' file

以段落模式读入文件并丢弃匹配 START <string><newline>END 的行

关于perl - 使用单行命令删除多行模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19938308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com