gpt4 book ai didi

arrays - 从perl中的其他数组中grep一个数组

转载 作者:太空狗 更新时间:2023-10-29 11:45:01 27 4
gpt4 key购买 nike

我的 perl 中有两个数组我想从另一个数组中 grep 一个数组我在 perl 中的代码如下。

#!/usr/bin/perl  
open (han5, "idstatus.txt");
open (han4, "routename.txt");
@array3 = <han4>;
@array4 = <han5>;
foreach (@array3) {
@out = grep(/$_/, @array4);
print @out; }

文件 routename.txt

strvtran
fake
globscr

文件 idstatus.txt

strvtran online   
strvtran online
strvtran online
globscr online
globscr online
globscr online
globscr online
globscr online
Xtech dead
Xtech dead
fake online
fake online
fake connecting
walkover123 online
walkover123 online

现在我想从 idstatus.txt 中 grep globscr 元素,输出应该是这样的:

globscr online 
globscr online
globscr online
globscr online
globscr online

而且我不想使用任何系统命令。请在这里帮助我

最佳答案

您没有删除换行符,因此您的匹配项在其查找的内容中包含换行符。

您还需要使 for 循环使用不同的变量,因为在 grep 内部,$_ 将仅引用当前正在检查的 grep 列表中的元素。

尝试:

chomp(@array3 = <han4>);
@array4 = <han5>;
foreach my $routename (@array3) {
@out = grep(/$routename/, @array4);
print @out;
}

这将输出:

strvtran online   
strvtran online
strvtran online
fake online
fake online
fake connecting
globscr online
globscr online
globscr online
globscr online
globscr online

我不确定你想从 idstatus.txt 中 grep globscr 是什么意思;那么routename.txt起到什么作用呢?

关于arrays - 从perl中的其他数组中grep一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21084726/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com