- 论坛徽章:
- 307
|
- #!/usr/bin/perl
- use strict;
- use warnings;
- use utf8;
- binmode (STDOUT, ':encoding(utf8)');
- my %hData;
- open (my $FHr, '<:encoding(utf8)', shift);
- while (defined (local $_ = <$FHr>)){
- my ($prov, $city, $dist) = split;
- $hData{$prov}{$city}{$dist}++;
- }
- close ($FHr);
- open ($FHr, '<:encoding(utf8)', shift);
- my ($prov, $city);
- my $rgx = qr /[\x{4E00}-\x{9FA5}]+/;
- while (defined (local $_ = <$FHr>)){
- if (/(${rgx}省)/){
- $prov = $1;
- next;
- }
- if (/(${rgx}市)/){
- $city = $1;
- next;
- }
- print join (",", $prov, $city, $1), "\n" if (/($rgx)/ xor exists $hData{$prov}{$city}{$1});
- }
- close ($FHr);
复制代码
cat a
----------------------------------------------------------------
河北省 石家庄市 市辖区
河北省 石家庄市 长安区
河北省 石家庄市 桥东区
河北省 石家庄市 桥西区
河北省 石家庄市 新华区
河北省 石家庄市 井陉矿区
河北省 衡水市 武邑县
河北省 衡水市 武强县
河北省 衡水市 饶阳县
河北省 衡水市 安平县
河北省 衡水市 故城县
河北省 衡水市 景 县
河北省 衡水市 阜城县
河北省 衡水市 冀州市
cat b
------------------------------------------
河北省
石家庄市
市辖区
井陉矿区
长安区
桥东区
桥西区
网线
邯郸市
丛台区
复兴区
峰峰矿区
广平县
邱县
魏县
perl abc.pl a b
-------------------------------------------------
河北省,石家庄市,网线
河北省,邯郸市,丛台区
河北省,邯郸市,复兴区
河北省,邯郸市,峰峰矿区
河北省,邯郸市,广平县
河北省,邯郸市,邱县
河北省,邯郸市,魏县
|
|