以下のスクリプトを使用して、2 つのファイルを比較しています:UEDP35.txt
とBB_UEDP35.txt
. このスクリプトは、入力を手動で行うとうまく機能しますが、さらに何かが必要です。
1つのフォルダー内に、のようなファイルがいくつかありますUEDP35.txt
。の例: UEDP1.txt
、など。同様に、別のファイルのセットもあります。UEDP2.txt
例:などは、両方のファイル名で共通です。UEDP3.txt
BB_UEDP35.txt
BB_UEDP1.txt
BB_UEDP2.txt
BB_UEDP3.txt
UEDP
UEDP 番号が一致するペアが存在する場合は、これら 2 つのファイルをスクリプトへの入力として指定します。比較中に相違点が見つかった場合は、それらを別の新しいファイルに書き込む必要があります。これはループとして実行する必要があります。
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
例: と の 2 つのファイルがA.txt
ありB.txt
ます。fileA.txt
で、5 桁の数字を持つ最初のファイル。ファイルB.txt
には整数が与えられます。ファイルの最初の 5 桁がA.txt
2 番目のファイルと一致しないB.txt
場合は、番号B.txt
を別のファイルに出力する必要があります。
A.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
ます。