国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統(tǒng) > 正文

在命令行下使用perl

2024-06-28 13:25:58
字體:
來源:轉載
供稿:網(wǎng)友
在命令行下使用perl

http://blog.sina.com.cn/s/blog_4af3f0d20100g9oz.html

aaa@domain.com2aaa@domain.com 111bbb@home.com2222bbb@home.com1

類似這種輸出,我想把他們變換成下面形式:aaa@domain.com 113bbb@home.com 2223就是將相同郵箱名稱后面的數(shù)字相加。各位大俠能否給些思路如何用perl來實現(xiàn)。答案:perl -anle '$cnt{$F[0]}+=$F[1];END{PRint "$_/t$cnt{$_}" for keys %cnt}' urfile如果熟悉了上面幾個perl命令行參數(shù)的用法,上面的這個命令應該很好理解:每次讀取urfile的一行,由于使用了-a,打開自動分離 (split)模式. 空格是缺省的分離號. 輸入根據(jù)分離號被分離然后放入缺省數(shù)組@F中,以文件的第一行為例子$F[0] 就是 aaa@domain.com , $F[1] 就是2$cnt{$F[0]} +=$F[1] 就是一個哈希數(shù)組, 以$F[0]為key,$F[1]為value,把相同key的數(shù)值都疊加起來.然后把文件的每一行都這樣處理一次.END{} 就是在循環(huán)完之后再處理.里面的意思就是打印這個%cnt 哈希數(shù)組.這個哈希數(shù)組的key就是 郵箱名稱,value就是疊加后的數(shù)字.下面的是上面行命令的文本形式:#!/usr/bin/perluse strict;use warnings;my %hash;while (<>){chomp;my @array=split;$hash{$array[0]} +=$array[1];}END{foreach (keys %hash){print"$_/t$hash{$_}/n";}}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 济源市| 曲阳县| 禹城市| 尼木县| 襄汾县| 吴江市| 兰考县| 仪征市| 南通市| 汝州市| 西林县| 庆城县| 徐汇区| 岳阳县| 富阳市| 睢宁县| 鹤庆县| 罗城| 玉林市| 龙门县| 丹寨县| 德保县| 黎城县| 肥城市| 铁岭市| 乐清市| 松阳县| 广东省| 林芝县| 寻甸| 武义县| 明溪县| 双峰县| 上栗县| 阿拉善右旗| 临清市| 万源市| 内乡县| 新津县| 河东区| 嘉兴市|