亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1394 | 回復(fù): 2
打印 上一主題 下一主題

兩個(gè)文件處理是遇到問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-10-11 16:07 |只看該作者 |倒序?yàn)g覽
1.txt


aa
bb
cc
dd
11
22




2.txt


aa 99
bb 88
cc 77
dd 66
rr 11
tt 22
ff 33
...
數(shù)量很多



現(xiàn)在想找到1.txt中所有字符的對應(yīng),得到如下結(jié)果


aa 99
bb 88
cc 77
dd 66
11 rr
22 tt
...



[code]#!/usr/bin/perl -w

use strict;


my $a="2.txt";
my $b="1.txt";
open IN1, $a or die "can't open $a";
open IN2, $b or die "can't open $b";
open OUT, '>', "out.txt" or die "can't open out.txt";

my @data = <IN1>;
sub func
{

        my ($str, @arr) = @_;
        for (my $i=0; $i<=$#arr; ++$i)
        {
                chomp($arr[$i]);
                if ($str eq $arr[$i])
                {
                        return 1;
                }
        }        
        return 0;
}

my @names = <IN2>;

foreach my $i (0..$#data){
                 my @line2 = split(/\s+/,$data[$i]);
                 my $name2 = shift @line2;
                 if (func($name2, @names))
                 {
                        print OUT $data[$i];
                       }
            }        
close IN1;
close IN2;
close OUT;[code]

結(jié)果里面沒有
11 rr
22 tt
...

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
2 [報(bào)告]
發(fā)表于 2012-10-11 16:58 |只看該作者
回復(fù) 1# xingzhou823

沒測試
  1. open (fh1,"1.txt") or die "$!";
  2. open(fh2,"2.txt") or die "$!";
  3. my %hash1;
  4. while(<fh1>){
  5.    chomp;
  6.    $hash1{$_} = 1;
  7. }
  8. while(<fh2>){
  9.    chomp;
  10.    my @a=split;
  11.    my @a_r=reverse @a;
  12.    print ($hash1{$a[0]}? "@a"."\n" :
  13.             $hash1{$a[1]}? "@a_r"."\n" :"");
  14. }
  15. close(fh1);
  16. close(fh2);

復(fù)制代碼

論壇徽章:
3
CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-12-14 14:57:19射手座
日期:2014-04-25 21:23:23
3 [報(bào)告]
發(fā)表于 2012-10-22 20:27 |只看該作者
  1. #!/usr/bin/perl -w
  2. use strict;
  3. open FA,"<2.txt" or die "$!";
  4. my %hash;
  5. while (<FA>){
  6. my($letter,$num)=split;
  7.   $hash{$letter} =$num;
  8.   $hash{$num} = $letter;
  9. }
  10. close FA;
  11. open FB,"<1.txt" or die "$!";
  12. while (<FB>){
  13. chomp;
  14.    my  $k =$_;
  15. print "$_ $hash{$_}\n" if (exists $hash{$k});

  16. }
  17. close FB;
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP