我怎麼能掃描整個目錄的內容,包括它的子目錄中的內容,並找到在其中最新.pl
文件使用Perl?我怎樣才能找到一個目錄,並使用Perl所有的子目錄最新的特等文件?
我想建立一個目錄樹中的所有.pl
文件的完整文件路徑的有序陣列/列表。例如,如果我的基本目錄是/home/users/cheeseconqueso/
,我想搜索該目錄中的.pl
文件以及該路徑內的任何子目錄,然後按日期對.pl
文件進行排序。
最終的結果將是一個數組,@pl_paths
,其中$pl_paths[0]
會像/home/users/cheeseconqueso/maybe_not_newest_directory/surely_newest_file.pl
從這個結果,我要執行的文件,但我認爲一旦我得到的排序後的數組想通了,執行文件在$pl_paths[0]
,不會成爲問題。
上有這樣我一直在試圖修改以滿足我的需要similar的問題,但現在我在這裏的原因很明顯。
我使用,以獲得最新的文件名稱只在一個目錄中的代碼是:
opendir(my $DH, $DIR) or die "Error opening $DIR: $!";
my %files = map { $_ => (stat("$DIR/$_"))[9] } grep(! /^\.\.?$/, readdir($DH));
closedir($DH);
my @sorted_files = sort { $files{$b} <=> $files{$a} } (keys %files);
print $sorted_files[0]."\n";
我想你誤解的問題的東西....我正在尋找最新的文件,而不是最大的文件 – CheeseConQueso
@ CheeseConQueso oops!稍後會更新。雖然同樣的想法適用! – hobbs
謝謝 - 現在測試 – CheeseConQueso