我有一个具有多个条目的PostgreSQL数据库objectid,在多个devicenames,但有一个独特的timestamp每个条目。该表如下所示:
address | devicename | objectid | timestamp
--------+------------+---------------+------------------------------
1.1.1.1 | device1 | vs_hub.ch1_25 | 2012-10-02 17:36:41.011629+00
1.1.1.2 | device2 | vs_hub.ch1_25 | 2012-10-02 17:48:01.755559+00
1.1.1.1 | device1 | vs_hub.ch1_25 | 2012-10-03 15:37:09.06065+00
1.1.1.2 | device2 | vs_hub.ch1_25 | 2012-10-03 15:48:33.93128+00
1.1.1.1 | device1 | vs_hub.ch1_25 | 2012-10-05 16:01:59.266779+00
1.1.1.2 | device2 | vs_hub.ch1_25 | 2012-10-05 16:13:46.843113+00
1.1.1.1 | device1 | vs_hub.ch1_25 | 2012-10-06 01:11:45.853361+00
1.1.1.2 | device2 | vs_hub.ch1_25 | 2012-10-06 01:23:21.204324+00
Run Code Online (Sandbox Code Playgroud)
我想删除每个 …
我试图访问作为哈希的一部分的数组的元素.
for my $idx ( 0 .. $#vss ) {
push (@{$vsnhash->{$vss[$idx]}}, $vsports[$idx]);
}
print Dumper(\%$vsnhash);
($VAR1 = {
'name2' => [
'8001',
'8002'
],
'name1' => [
'8000'
]
};
Run Code Online (Sandbox Code Playgroud)
我能够使用foreach循环访问密钥:
foreach my $key ( keys %$vsnhash ) {
print "$key\n";
}
Run Code Online (Sandbox Code Playgroud)
如何在哈希中访问端口号('8001','8002')数组?
感谢您的帮助!
我一直在寻找一种解决方案,允许我搜索数组的行,如果匹配字符串,则将该行和前两行推入数组.看起来这很容易使用grep命令完成.但是,我不能让这个工作.这就是我所拥有的:
sub ipsearch {
my $ip = $_[0];
my @IPVSCONFIG = grep (/\W+virtual\s$ip\s/, @RAWDATA);
}
Run Code Online (Sandbox Code Playgroud)
是否可以在grep命令中添加"-B 2"语法?我已经尝试了这种语法的几种形式,但我无法让它工作:
@IPVSCONFIG = grep -B 2 (/\W+virtual\s$ip\s/, @RAWDATA);
Run Code Online (Sandbox Code Playgroud)
如果可能的话,请告诉我,以及正确的语法应该是什么.如果您有任何其他建议,请告诉我.
谢谢您的帮助!
我正在寻找一个与下面的输出中的"vserver foo2"匹配的perl正则表达式.但是,我想返回匹配的行,以及以下所有行到"!" 我只想打印"vserver foo2"
Thx 的配置以获得帮助!
思科配置:
!
vserver foo1
描述foo
虚拟1.1.1.1 tcp www
serverfarm foofoo
持久重新平衡
inservice
!
vserver foo2
description foo2
virtual 1.1.1.2 tcp www
serverfarm foofoo2
persistent rebalance
inservice
!
vserver foo3
描述foo3
虚拟1.1.1.3
serverfarm foo3
复制csrp连接
持久重新平衡
inservice
!
我有一个创建IP地址数组的子例程,但是我不知道将多少IP推送到数组中.(基于txt文件中有多少匹配)然后我有另一个子需要从数组中提取每个IP地址并分配一个变量.所有IP都将打印在同一行输出中.我想做这样的事情:
@IPS = ("1.1.1.1", "1.1.1.2", "1.1.1.3", "1.1.1.4");
print "vserver1 $IPS[0], vserver2 $IPS[1], vserver3 $IPS[2], vserver4 $IPS[3]\n";
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道阵列中有多少IP.如何调用未知数量的值?是否可以将变量分配给第一个IP,然后在下次调用时分配给第二个IP的相同变量?
print "vserver1 $IPS, vserver2 $IPS, vserver3 $IPS, vserver4 $IPS\n";
Run Code Online (Sandbox Code Playgroud)
提前致谢!