国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 铜梁县| 雷波县| 邯郸市| 页游| 深水埗区| 雷山县| 寿阳县| 南皮县| 梧州市| 吴江市| 峡江县| 西乌| 临高县| 遂昌县| 孝义市| 保康县| 沈阳市| 蒲江县| 兴和县| 康定县| 文水县| 长岭县| 新乡县| 神农架林区| 双峰县| 湟源县| 吴堡县| 安塞县| 老河口市| 万盛区| 普兰店市| 厦门市| 河间市| 抚远县| 西乌珠穆沁旗| 平潭县| 浏阳市| 陆丰市| 正宁县| 正宁县| 桃源县|