gpt4 book ai didi

perl - 从/向同一文件逐行读取和写入

转载 作者:行者123 更新时间:2023-12-01 00:57:48 24 4
gpt4 key购买 nike

我正在处理需要在脚本中操作的 xml 文件。我对此的第一种方法是:

qx(perl export_xml.pl $export_params >  $path$prefix\investment.xml); # Create the xml-file


open DERI, '+<'.$path.$prefix.'investment.xml' or die 'Can\'t open investment.xml: '.$!;
my @derivative_xml = <DERI>;
seek(DERI, 0, 0);

foreach (@derivative_xml) {
$_ =~ s/^\s*$//g;
$_ =~ s/^.*detected on Server.*$//g;
$_ = encode('utf8', $_);
}

print DERI join('', @derivative_xml);

这是用于测试目的,但不幸的是,实际文件太大了(最多 6GB)。

有没有办法逐行读取文件,然后通过文件句柄修改输入?就像是
foreach (<DERI>) { #@derivative_xml) {
$_ =~ s/^\s*$//g;
$_ =~ s/^.*detected on Server.*$//g;
$_ = encode('utf8', $_);
}

我真的无法在相当长的时间内测试它,所以如果我不必在这里反复试验,那就太好了。

提前致谢!

最佳答案

这应该有效。不需要另一个脚本文件。

perl -pi -e 's/^\s*$//g;s/^.*detected on Server.*$//g;$_ = encode('utf8', $_)' investment.xml

虽然没有测试高达 6GB 的大文件。测试这个并检查需要多少时间。

关于perl - 从/向同一文件逐行读取和写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587541/

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