我一直在試圖分配多個文件到一個文件句柄。然後從那裏處理整個文件句柄以查找特定模式,然後將其寫入FIN_RESULTS。Perl,如何使用管道將多個文件捕獲到同一個文件處理程序中?
的Linux
EXP文件
我/ DIR1 /賽果
我/ DIR2 /賽果
等
這裏是我試圖
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腳本本身。
感謝您的幫助!!!!!我能夠實現我原先想到的。
我有第二個問題是否有可能以這樣的方式實現查找,它只查看某些目錄? 比如,如果我有
我/ abc_dir1 /賽果
我/ dsa_dir2 /賽果
我/ afx_dir3 /賽果
,但我只希望通過DIR2和DIR3進行搜索。
@array1 = qw(dir2 dir3);
foreach $array1(@array1)
{ open(RESULTS, "-|"," find my/*$array1 -name RESULTS -print0 | xargs -0 cat");
}
,但我得到這個錯誤,xargs的:貓:由信號13 終止,所以它不是不允許重新打開文件句柄多次。對我能做什麼有任何建議?
你能更清楚你想完成什麼嗎?我不確定「用多個文件打開文件句柄」是什麼意思。你期待這個腳本做什麼? – 2012-08-14 23:55:48
編輯得更清晰 – user1539348 2012-08-14 23:59:05
我不清楚你想做什麼。你能澄清嗎?一個循序漸進的描述(即不是代碼)將會有所幫助。 – David 2012-08-15 00:00:10