- 论坛徽章:
- 0
|
本帖最后由 飞鸿无痕 于 2012-10-16 19:12 编辑
回复 1# gaoyang636
我觉得可以将A,B的内容都放到hash中,然后通过排序后将结果输出到文件即可,下面附上简单的代码,刚开始学习perl,有不对的地方请多指点。呵呵!不知道这么处理是否能达到你的要求。- #!/usr/bin/perl
- use strict;
- use Data::Dumper;
- open CONFIG1, '<A';
- open CONFIG2, '<B';
- open CONFIG3, '>>C';
- my %test1;
- my $count=0;
- while(<CONFIG1>){
- $_=~s/^/a /;
- $test1{$count}=$_;
- $count++;
- }
- while(<CONFIG2>){
- $_=~s/^/b / ;
- $test1{$count}=$_;
- $count++;
- }
- foreach(sort sort_test keys %test1){
- $test1{$_}=~s/^(a |b )//;
- print CONFIG3 $test1{$_};
- }
-
- close CONFIG1;
- close CONFIG2;
- close CONFIG3;
- sub sort_test{
- substr($test1{$a},2,6) <=> substr($test1{$b},2,6)
- or substr($test1{$a},0,1) cmp substr($test1{$b},0,1);
- }
复制代码 我这边的环境为:- [root@puppet test]# cat A
- 000001 blabla
- 000001 gagaga
- 000001 cacacac
- 000002 qiaqia
- 000002 hahaha
- 000003 miamia
- [root@puppet test]# cat B
- 000001 blablacccf
- 000001 gagagaccccc
- 000001 cacacaccccc
- 000002 qiaqiacccc
- 000002 hahahacccc
- 000003 miamiacccc
复制代码 处理结果为:- [root@puppet test]# cat C
- 000001 cacacac
- 000001 gagaga
- 000001 blabla
- 000001 blablacccf
- 000001 gagagaccccc
- 000001 cacacaccccc
- 000002 qiaqia
- 000002 hahaha
- 000002 qiaqiacccc
- 000002 hahahacccc
- 000003 miamia
- 000003 miamiacccc
复制代码 |
|