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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 3162 | 回復(fù): 9
打印 上一主題 下一主題

編程在線(xiàn)求助~ [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-07-08 14:02 |只看該作者 |倒序?yàn)g覽
本帖最后由 kamadevin 于 2015-07-08 14:28 編輯

perl求助

現(xiàn)在需要處理幾個(gè)文件
想要達(dá)到如下效果
文件格式如下

文件1
a 1
b 2
c 3
d 4
e 5

文件2
a 6
b 7
d 8
e 9
f 10

想整合在一起成為
a 1 6
b 2 7
c 3 0
d 4 8
e 5 9
f 0 10

中間以 table符分開(kāi)
請(qǐng)問(wèn)如何做到,求幫忙~

論壇徽章:
10
2015亞冠之廣州富力
日期:2015-06-16 14:44:332015亞冠之西悉尼流浪者
日期:2015-08-19 13:14:352015亞冠之阿爾希拉爾
日期:2015-08-04 09:38:052015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-31 15:01:582015亞冠之首爾
日期:2015-07-27 14:24:312015亞冠之塔什干火車(chē)頭
日期:2015-07-20 09:47:202015亞冠之布里斯班獅吼
日期:2015-07-15 14:58:432015亞冠之首爾
日期:2015-07-07 09:31:262015亞冠之廣州恒大
日期:2015-07-06 15:41:272015亞冠之首爾
日期:2015-08-27 11:03:01
2 [報(bào)告]
發(fā)表于 2015-07-08 16:57 |只看該作者
本帖最后由 xiaoxingan99 于 2015-07-08 16:59 編輯

實(shí)在不會(huì)用hash,參考以前的帖子,給出一個(gè)我寫(xiě)的復(fù)雜程序
open FF, "e:/perl/A.txt";
while(<FF>){
chomp;
my ($key, $value) = split / /;
$h{$key}=$value;

}

open FF1, "e:/perl/B.txt";
while(<FF1>){
chomp;
my ($key1, $value1) = split / /;
$h1{$key1}=$value1;

}
foreach $a ("a".."f"){
        unless ($h{$a}){
                $h{$a}=0;
                }
                        unless ($h1{$a}){
                $h1{$a}=0;
                        }
                                print "$a\t$h{$a}\t$h1{$a}\n";
        }

論壇徽章:
20
卯兔
日期:2015-01-26 22:05:142015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-09-10 15:15:282015亞冠之阿爾希拉爾
日期:2015-09-25 17:37:53程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-03 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-09 06:20:00CU十四周年紀(jì)念徽章
日期:2015-12-17 09:07:15程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-25 06:20:342015亞冠之廣州富力
日期:2015-08-27 19:29:56每日論壇發(fā)貼之星
日期:2015-08-26 06:20:002015亞冠之阿爾希拉爾
日期:2015-05-18 17:26:27
3 [報(bào)告]
發(fā)表于 2015-07-08 23:41 |只看該作者
回復(fù) 1# kamadevin
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use Data::Dumper;

  5. my %hash;

  6. open my $FHA, "$ARGV[0]";
  7. while (<$FHA>)
  8. {
  9.         chomp;
  10.         /(\S+)\s+(\S+)/;
  11.         $hash{$1} = $2;
  12. }
  13. close $FHA;

  14. open my $FHB, "$ARGV[1]";
  15. while (<$FHB>)
  16. {
  17.         chomp;
  18.         /(\S+)\s+(\S+)/;
  19.         $hash{$1} = length($hash{$1}) ? $hash{$1}."\t".$2: "0\t".$2;
  20. }
  21. close $FHB;

  22. for (sort { $a cmp $b } keys %hash)
  23. {
  24.         $hash{$_} = $hash{$_} . "\t0" if (scalar split(/\t/, $hash{$_})) == 1;
  25.         print "$_\t$hash{$_}\n";
  26. }
復(fù)制代碼

論壇徽章:
145
技術(shù)圖書(shū)徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書(shū)徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [報(bào)告]
發(fā)表于 2015-07-09 00:07 |只看該作者
本帖最后由 jason680 于 2015-07-09 00:07 編輯

回復(fù) 1# kamadevin

$ perl combin.pl f1 f2
a 1 6
b 2 7
c 3 0
d 4 8
e 5 9
f 0 10

$ cat combin.pl
#! /usr/bin/env perl
use strict;
use warnings;

message() if(@ARGV < 1);

sub message{
  print<<EOF;
Usage: $0 file1 [file2 [file3 ...]]
Ex:    $0 f1 f2
EOF
  exit(1);
}
my $sCnt = 0;
my %hKey;
my @aKey;
foreach my $sFile (@ARGV){
  $sCnt++;
  open(FHin, "<$sFile") or die "can't open $sFile\n";
  while(<FHin>){
    my($sKey, $sVal) = split;
    if(! exists $hKey{$sKey}){
      push @aKey, $sKey;
    }
    $hKey{$sKey}[$sCnt] = $sVal;
  }
  close(FHin);
}
foreach my $sKey (@aKey){
  my $sOut = "";
  foreach( 1 .. $sCnt){
    $hKey{$sKey}[$_] += 0;
    $sOut .= " $hKey{$sKey}[$_]";
  }
  print "$sKey$sOut\n";
}

   

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
5 [報(bào)告]
發(fā)表于 2015-07-09 00:11 |只看該作者
回復(fù) 4# jason680


    一個(gè) hash 足矣:

  1. use v5.10;

  2. my %record;
  3. for my $idx (0..$#ARGV) {
  4.         open(my $h, "<", "$ARGV[$idx]")
  5.                 or die "Cannot open $ARGV[$idx]: $!";
  6.         while (<$h>) {
  7.                 chomp;
  8.                 my @r = split / /, $_, 2;
  9.                 $record{$r[0]}->[$idx] = $r[1];
  10.         }
  11. }

  12. for my $k (sort keys %record) {
  13.         $#{$record{$k}} = $#ARGV;
  14.         my @v = map { $_ ? $_ : 0 } @{$record{$k}};
  15.         say "$k, @v";
  16. }
復(fù)制代碼

論壇徽章:
145
技術(shù)圖書(shū)徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書(shū)徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [報(bào)告]
發(fā)表于 2015-07-09 00:58 |只看該作者
本帖最后由 jason680 于 2015-07-09 08:04 編輯

回復(fù) 5# MMMIX

少不一定是優(yōu),多不一定是劣

$ perl -lane '
{
  $f=$ARGV,$c++ if($ARGV ne $f);
  ($k, $v) = split;
  $h{$k}[$c] = $v;
}
END{
  $k=$_,print"$k @{[map{$h{$k}[$_]+0}(1..$c)]}" for(sort keys %h);
}' f1 f2
a 1 6
b 2 7
c 3 0
d 4 8
e 5 9
f 0 10


   

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚(yú)座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
7 [報(bào)告]
發(fā)表于 2015-07-09 09:28 |只看該作者
回復(fù) 6# jason680


    你再把這么多代碼寫(xiě)命令行里我要報(bào)警抓你了

    你發(fā)個(gè)投票看看有幾個(gè)人能完全看懂的

論壇徽章:
145
技術(shù)圖書(shū)徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書(shū)徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
8 [報(bào)告]
發(fā)表于 2015-07-09 10:15 |只看該作者
回復(fù) 7# zhlong8

版主 你“抓"錯(cuò)人了...(我都說(shuō)了:少不一定是優(yōu),多不一定是劣)

你發(fā)一篇 教教大家如何正確編程Perl...

     

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚(yú)座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
9 [報(bào)告]
發(fā)表于 2015-07-09 12:24 |只看該作者
回復(fù) 8# jason680


    不排版就把沒(méi)用的空格和換行刪掉
  1. perl -lane '$f=$ARGV,$c++if$ARGV ne$f;$h{$F[0]}[$c]=$F[1]}{$"="\t";$k=$_,print"$k\t@{[map{$h{$k}[$_]+0}1..$c]}"for sort keys%h' f1 f2
復(fù)制代碼

論壇徽章:
307
程序設(shè)計(jì)版塊每周發(fā)帖之星
日期:2016-04-08 00:41:33操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-09-02 06:20:00每日論壇發(fā)貼之星
日期:2015-09-02 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-04 06:20:00每日論壇發(fā)貼之星
日期:2015-09-04 06:20:00每周論壇發(fā)貼之星
日期:2015-09-06 22:22:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-19 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-20 06:20:00每日論壇發(fā)貼之星
日期:2015-09-20 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-22 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-24 06:20:00
10 [報(bào)告]
發(fā)表于 2016-09-13 15:22 |只看該作者
  1. perl -anle '{($k,$v)=@F;if(@ARGV){$h{$k}=[$v];next}if($h{$k}){$h{$k}->[1]=$v}else{$h{$k}=[0,$v]}}END{print join (" ", $_, $h{$_}->[0], ($h{$_}->[1] // 0)) for sort keys %h}' a b
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP