我正在使用下面的脚本来比较两个文件:UEDP35.txt
和BB_UEDP35.txt
. 如果我手动输入,这个脚本效果很好,但现在我需要更多的东西。
在一个文件夹中,我有许多文件,例如UEDP35.txt
. 例如:UEDP1.txt
,UEDP2.txt
等UEDP3.txt
。类似地,还有另一组文件,BB_UEDP35.txt
例如BB_UEDP1.txt
,等BB_UEDP2.txt
,在这两个文件名中都很常见。BB_UEDP3.txt
UEDP
如果有一对匹配的 UDP 编号,那么我想将这两个文件作为脚本的输入。如果在比较它们时发现任何差异,则必须将它们写入另一个新文件。这必须作为循环来完成。
use warnings;
use strict;
open AIN, "<UEDP35.txt ";
open BIN, "<BB_UEDP35.csv";
my %seen;
while (<ain>) {
my $v = (split(/,/))[0];
$seen{$v}++;
}
while (<bin>) {
my $v = (split)[0];
print "$vn" if not $seen{substr($v, 0, 5)};
}
close AIN;
close BIN;
ls -1 UEDP* | while read line; do f1=echo $line | cut -f1 -d'.' ; f2=ls -1 BB_UEDP* | grep $f1;f3=echo $line | cut -f1; ./test.sh $f3 $f2;done
示例:我有两个文件:A.txt
和B.txt
. 在 fileA.txt
中,第一个具有五位数字的文件。在文件B.txt
中给出了整数。如果文件的前五位数字A.txt
与第二个文件不匹配,B.txt
那么我需要将数字打印B.txt
到另一个文件中。
一个.txt
81270,UEDP35
81274,UEDP35
87562,UEDP35
89537,UEDP35
90050,UEDP35
B.txt
8127047667
8756209276
9956176149
8127463873
8953713146
9935805068
这A.txt
是UEDP35.txt
和B.txt
是BB_UEDP35.txt
。