perl脚本实现两个文件通过相同的元素结合

发布时间:2020-02-25编辑:脚本学堂
需求:用data2文件的内容补全文件data1。

需求:用data2文件的内容补全文件data1。
[root@localhost tmp]# cat data1
277|9|100
277|9|1200
277|9|1200
277|9|1500
277|9|300
277|9|1500
277|9|1400
[root@localhost tmp]# cat data2
277|9|100|12345
277|9|1200|122112222
277|9|1500|434388888888
277|9|300|676557
277|9|1400|2546565
[root@localhost tmp]# cat 1.pl
 

复制代码 代码如下:
#!/usr/bin/perl
open(FD1,$ARGV[0]);
open(FD2,$ARGV[1]);
while(<FD2>){
m/(d+)|d+$/;
$data{$1}=$_;
}
while(<FD1>){
m/d+$/;
print "$data{$&}";
}
 

[root@localhost tmp]# perl 1.pl data1 data2
277|9|100|12345
277|9|1200|122112222
277|9|1200|122112222
277|9|1500|434388888888
277|9|300|676557
277|9|1500|434388888888
277|9|1400|2546565
[root@localhost tmp]#