我正在使用下面的脚本来比较两个文件:UEDP35.txt和BB_UEDP35.txt. 如果我手动输入,这个脚本效果很好,但现在我需要更多的东西。
在一个文件夹中,我有许多文件,例如UEDP35.txt. 例如:UEDP1.txt,UEDP2.txt等UEDP3.txt。类似地,还有另一组文件,BB_UEDP35.txt例如BB_UEDP1.txt,等BB_UEDP2.txt,在这两个文件名中都很常见。BB_UEDP3.txtUEDP
如果有一对匹配的 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。