gpt4 book ai didi

perl - 如何在 Perl 中提取两个行分隔符之间的行?

转载 作者:行者123 更新时间:2023-12-04 01:27:24 25 4
gpt4 key购买 nike

我有一个 ASCII 日志文件,其中包含我想提取的一些内容。我从来没有花时间正确学习 Perl,但我认为这是完成这项任务的好工具。

该文件的结构如下:

...
...一些垃圾
...
……垃圾开始
我想要的是
在不同的
线
结尾
...
……更多垃圾……
下一个开始
我想要更多的东西,再次
传播
通过
多行
结尾
...
更多垃圾

所以,我正在寻找一种方法来提取每个 START 之间的线和 END分隔符字符串。
我怎样才能做到这一点?

到目前为止,我只找到了一些关于如何使用 START 打印一行的示例。字符串,或与我要查找的内容有些相关的其他文档项。

最佳答案

您需要触发器运算符(也称为范围运算符)..

#!/usr/bin/env perl
use strict;
use warnings;

while (<>) {
if (/START/../END/) {
next if /START/ || /END/;
print;
}
}
将调用替换为 print使用您真正想做的任何事情(例如,将行插入数组,编辑它,格式化它,等等)。我是 next - 越过实际有 START 的行或 END ,但您可能不想要这种行为。见 this article有关此运算符和其他有用的 Perl 特殊变量的讨论。

关于perl - 如何在 Perl 中提取两个行分隔符之间的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1212799/

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