0
あるファイルから取得したサーバー名の存在を別のファイルで確認します。 2番目のファイルには、それぞれにサーバー名+追加情報を含む複数の行が格納されています。は一度だけ一致しますがそれ以上は一致しません
ので、例の名前「SERVER01」の出力には、私はもちろんの両方のファイルに存在する名前ごとに一度だけ出力XLSファイルでそれを持ちたい
server01
server01
server01
です。
プログラムは、これまでのところです:
#!/usr/bin/perl -w
use Spreadsheet::WriteExcel;
#OPEN FILES
open(FILE, "CEP06032012.csv") or die("Unable to open CEP file");
@CEP_file = <FILE>;
close(FILE);
open(FILE, "listsystems_temp") or die("Unable to open listsystems file");
@listsystems_file = <FILE>;
close(FILE);
#XLS properties
my $workbook = Spreadsheet::WriteExcel->new('report.xls');
my $worksheet_servers = $workbook->add_worksheet();
#MAIN
my $r = 0;
foreach my $lines(@CEP_file){
my @CEP_file = split ";", $lines;
my $server = $CEP_file[8];
foreach my $lines2(@listsystems_file){
if ($lines2 =~ m/.*$server.*/i && $server ne ""){
print "$server \n";
#print "$lines2 \n";
$worksheet_servers->write($r, 0, "$server");
$r++;
}
}
}
exit();
任意のアイデアはどのようにそれを変更するには?
重複を削除する方法はperlfaqページの1つです。 – ikegami
これらのエールは正確には重複しません。たとえば、2番目のファイルには次のものが含まれています。 'F_server01:NO-v1' ' F_server01:LZ-v2' 各行の一部は同じだが全行ではない... – f00sa
現在正確な重複が出力されていることを示しています。あなたはそれを防ぐ方法を尋ねました。あなたはあなたの質問を変えていますか?もしそうなら、あなたの新しい質問は何ですか? – ikegami