Perl脚本请教! 多谢
时间:2010-08-14
来源:互联网
各位大侠
下面一部分文本,其实有3个pool,分别是"test pool" "ypepivsdb1 pool" 和"ypfpivsdb2 pool"
这三个pool里面的磁带分别是2个,3个和4个。
我想写一个Perl 程序能够得到这3个pool分别有几个磁带? 请各位大侠不吝赐教
多谢了!
test pool
001784 HCART3 ACS 3 - - 15 91488 ACTIVE
001812 HCART3 ACS 3 - - 15 94912 ACTIVE
ypepivsdb1 pool
000045 HCART3 TLD 1 46 - 3 844233440 ACTIVE
000745 HCART3 TLD 1 455 - 3 3668000 ACTIVE
000823 HCART3 TLD 1 533 - 3 46102304 ACTIVE
ypfpivsdb2 pool
000914 HCART3 TLD 1 624 - 3 73076448 ACTIVE
001004 HCART3 TLD 1 126 - 3 19219968 ACTIVE
0117L3 HCART3 TLD 2 118 - 3 101234816 ACTIVE
0121L3 HCART3 TLD 2 122 - 3 164481920 ACTIVE
下面一部分文本,其实有3个pool,分别是"test pool" "ypepivsdb1 pool" 和"ypfpivsdb2 pool"
这三个pool里面的磁带分别是2个,3个和4个。
我想写一个Perl 程序能够得到这3个pool分别有几个磁带? 请各位大侠不吝赐教
多谢了!
test pool
001784 HCART3 ACS 3 - - 15 91488 ACTIVE
001812 HCART3 ACS 3 - - 15 94912 ACTIVE
ypepivsdb1 pool
000045 HCART3 TLD 1 46 - 3 844233440 ACTIVE
000745 HCART3 TLD 1 455 - 3 3668000 ACTIVE
000823 HCART3 TLD 1 533 - 3 46102304 ACTIVE
ypfpivsdb2 pool
000914 HCART3 TLD 1 624 - 3 73076448 ACTIVE
001004 HCART3 TLD 1 126 - 3 19219968 ACTIVE
0117L3 HCART3 TLD 2 118 - 3 101234816 ACTIVE
0121L3 HCART3 TLD 2 122 - 3 164481920 ACTIVE
作者: 中国龙老张 发布时间: 2010-08-14
按照内容的格式试着这样写:
复制代码
复制代码
- #!/usr/bin/perl
-
- while (<DATA>)
- {
- my $line = $_;
- chomp($line);
-
- if ($line eq 'test pool') { $i = 0; }
- if ($line eq 'ypepivsdb1 pool') { print "test pool:$i\n"; $i=0; }
- if ($line eq 'ypfpivsdb2 pool') { print "ypepivsdb1 pool:$i\n"; $i=0; }
-
- if ($line=~/HCART3/) { $i++; }
- }
- print "ypepivsdb2 pool:$i \n";
-
-
-
- __DATA__
-
- test pool
-
- 001784 HCART3 ACS 3 - - 15 91488 ACTIVE
- 001812 HCART3 ACS 3 - - 15 94912 ACTIVE
-
- ypepivsdb1 pool
-
- 000045 HCART3 TLD 1 46 - 3 844233440 ACTIVE
- 000745 HCART3 TLD 1 455 - 3 3668000 ACTIVE
- 000823 HCART3 TLD 1 533 - 3 46102304 ACTIVE
-
- ypfpivsdb2 pool
-
- 000914 HCART3 TLD 1 624 - 3 73076448 ACTIVE
- 001004 HCART3 TLD 1 126 - 3 19219968 ACTIVE
- 0117L3 HCART3 TLD 2 118 - 3 101234816 ACTIVE
- 0121L3 HCART3 TLD 2 122 - 3 164481920 ACTIVE
- test pool:2
- ypepivsdb1 pool:3
- ypepivsdb2 pool:4
作者: unix666 发布时间: 2010-08-15
本帖最后由 黑色阳光_cu 于 2010-08-15 01:09 编辑
复制代码
- #!/bin/env perl
-
- use strict;
- use warnings;
-
- my ($pool, %hash);
- while (<DATA>)
- {
- if (/^\s*(.+pool)\s*$/)
- {
- $pool = $1;
- }
- elsif (not /^\s*$/)
- {
- ++$hash{$pool};
- }
- else
- {
- ;
- }
- }
-
- foreach my $pool (keys(%hash))
- {
- print "$pool: $hash{$pool}\n";
- }
-
- __DATA__
- test pool
-
- 001784 HCART3 ACS 3 - - 15 91488 ACTIVE
- 001812 HCART3 ACS 3 - - 15 94912 ACTIVE
-
- ypepivsdb1 pool
-
- 000045 HCART3 TLD 1 46 - 3 844233440 ACTIVE
- 000745 HCART3 TLD 1 455 - 3 3668000 ACTIVE
- 000823 HCART3 TLD 1 533 - 3 46102304 ACTIVE
-
- ypfpivsdb2 pool
-
- 000914 HCART3 TLD 1 624 - 3 73076448 ACTIVE
- 001004 HCART3 TLD 1 126 - 3 19219968 ACTIVE
- 0117L3 HCART3 TLD 2 118 - 3 101234816 ACTIVE
- 0121L3 HCART3 TLD 2 122 - 3 164481920 ACTIVE
作者: 黑色阳光_cu 发布时间: 2010-08-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28