gpt4 book ai didi

perl - 使用 Perl 从 2 个文件逐行打开和读取

转载 作者:行者123 更新时间:2023-12-02 08:47:28 25 4
gpt4 key购买 nike

我试图在 Perl 中逐行打印 2 个不同的文件。这个的语法是什么?代码:

#1. Initialize: log file path and ref Log file path
use strict;
use warnings;
my $flagRef="true";
my $logPath="C:/ExecutionSDKTest_10.2.2/Logs/${ARGV[0]}.log";
my $refLogPath="C:/ExecutionSDKTest_10.2.2/Logs/${ARGV[1]}_Ref.properties.txt";
#print log file path followed by reflog path: P
#print "$logPath\n$refLogPath\n";

#2. Traverse log file and refLog file to replace ALL instances of:
#"hr:min:sec" with "xx:xx:xx"
open INLOG, $logPath or die $!;
open INREF, $refLogPath or die $!;

#equiv: >>$logLine=readline(*FHLOG);
#$logLine= <FHLOG>;
#$refLine= <FHREF>;
while (<INLOG>) #syntax
{
print "$_";
#I'd like to print lines from INREF too! :)
#Syntax?
}

最佳答案

这可以使用 paste(1) 轻松解决。假设 a.txt 包含:

a1
a2
a3

并且 b.txt 包含:

b1
b2
b3

然后:

$ paste -d '\n' a.txt b.txt
a1
b1
a2
b2
a3
b3
$

执行相同操作的稍长的 Perl 单行代码:

$ perl -e '@fhs=map { open my $fh, "<", $_; $fh } @ARGV; while (!$done) { $done=1; map { $v=<$_>; do { print $v; $done=0 } if (defined $v); } @fhs; }' a.txt b.txt
a1
b1
a2
b2
a3
b3
$

将其展开并将其重写为适当的脚本作为练习留给读者。

关于perl - 使用 Perl 从 2 个文件逐行打开和读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11349836/

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