- 论坛徽章:
- 0
|
- #!/usr/bin/perl
- my $file1 = "a.txt";
- my $file2 = "b.txt";
- my $file3 = "result.txt";
- my %data_a;
- my %data_b;
- my %keys;
- open (FH,$file1);
- while (<FH>) {
- chomp;
- my ($key,$value) = split(/\s+/,$_);
- $keys{$key} = 1;
- $data_a{$key}=$value;
- }
- close FH;
- open (FH,$file2);
- while (<FH>) {
- chomp;
- my ($key,$value) = split(/\s+/,$_);
- $keys{$key} = 1;
- $data_b{$key}=$value;
- }
- close FH;
- open(FH,">$file3");
- foreach my $key (sort keys %keys) {
- if ($data_a{$key} && $data_b{$key}) {
- print FH "$key\t$data_a{$key}&$data_b{$key}\t$file1;$file2\n";
- }
- elsif ($data_a{$key}) {
- print FH "$key\t$data_a{$key}\t$file1\n";
- }
- elsif ($data_b{$key}) {
- print FH "$key\t$data_b{$key}\t$file2\n";
- }
- }
- close FH;
- print "文件合并成功!";
- <STDIN>;
复制代码 |
|