我一直在尝试将多个文件分配给一个文件句柄。然后从那里处理整个文件句柄以查找特定模式,然后将其写入 FIN_RESULTS。
Linux
exp 文件
my/dir1/RESULTS
my/dir2/RESULTS
等。
这是我一次尴尬的尝试
open (FIN_RESULTS, ">", "FIN_RESULTS.txt") or die $!;
open(RESULTS, "-|"," find my/ -name RESULTS -print0 | xargs -0 cat");
while(<RESULTS>){
if(/match_something/){
do some commands;
print FIN_RESULTS $_;
}
close FIN_RESULTS;
close RESULTS;
但我最终只是用当前目录的 ls 覆盖了 perl 脚本本身。
谢谢您的帮助!!!!!我能够实现我最初的想法。
我有第二个问题,是否可以通过仅查看某些目录的方式实现查找?比如我有
my/abc_dir1/RESULTS
my/dsa_dir2/RESULTS
my/afx_dir3/RESULTS
但我只想搜索 dir2 和 dir3。
@array1 = qw( dir2 dir3);
foreach $array1(@array1)
{ open(RESULTS, "-|"," find my/*$array1 -name RESULTS -print0 | xargs -0 cat");
}
但我收到此错误,xargs: cat: 由信号 13 终止。因此不允许多次重新打开文件句柄。关于我能做什么的任何建议?