gpt4 book ai didi

perl - 比较两个文件时,如何跳过(忽略)空行?

转载 作者:行者123 更新时间:2023-12-03 21:31:12 27 4
gpt4 key购买 nike

我正在将行与两个文本文件的行进行比较,ref.txt (引用)和 log.txt .但是我想忽略任一文件中的任意数量的空行;我怎样才能做到这一点?

ref.txt

one

two


three



end

log.txt
one
two
three
end

输出中不会有不正确的日志行,换句话说 log.txtref.txt 匹配.

我喜欢用伪代码完成什么:
while (traversing both files at same time) {
if ($l is blank line || $r is blank line) {
if ($l is blank line)
skip to next non-blank line
if ($r is blank line)
skip to next non-blank line
}
#continue with line by line comparison...
}

我目前的代码:
use strict;
use warnings;

my $logPath = ${ARGV [0]};
my $refLogPath = ${ARGV [1]} my $r; #ref log line
my $l; #log line

open INLOG, $logPath or die $!;
open INREF, $refLogPath or die $!;

while (defined($l = <INLOG>) and defined($r = <INREF>)) {
#code for skipping blank lines?
if ($l ne $r) {
print $l, "\n"; #Output incorrect line in log file
$boolRef = 0; #false==0
}
}

最佳答案

如果您使用的是 Linux 平台,请使用:

diff -B ref.txt log.txt
-B选项会导致仅插入或删除空行的更改被忽略

关于perl - 比较两个文件时,如何跳过(忽略)空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565370/

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