我有一個Perl腳本,我已經寫入搜索文件存在於我的Windows文件夾,遞歸。我輸入搜索文本作爲perl腳本運行時參數,以查找名稱中包含此文本的文件。 perl腳本如下:如何在Perl腳本中遞歸查找文件/文件夾?
use Cwd;
$file1 = @ARGV[0];
#@res1 = glob "*test*";
#@res1 = glob "$file1*";
@res1 = map { Cwd::abs_path($_) } glob "$file1*";
foreach (@res1)
{
print "$_\n";
}
但是,這不是搜索所有的子目錄遞歸。我知道glob
遞歸不匹配。
使用模塊File::Find
和功能find(\&wanted, @directories);
所以嘗試,但我得到了一個錯誤說find()
不確定。從我從幫助中讀到的內容,我認爲find()
函數是在Perl安裝中默認定義的,具有一些基本代碼來查找文件夾/文件。這不正確嗎?
問題是,在上面的perl腳本中,如何遞歸搜索文件/文件夾?
第二個問題,我發現perldoc <module> help
沒有關於在該模塊中使用某個函數的示例,這會使其清楚。
您能指出一些很好的幫助/文檔/書籍,它們使用來自不同perl模塊的各種perl函數,並清楚說明這些模塊函數的用法。
我從這個問題http://stackoverflow.com/questions/4979310/extended-for-subdirectories-rename-files-and-directories-add-prefix方法可以幫助。這種情況下的任務是重命名目錄中的所有文件和文件夾以及所有子目錄。該方法可以很容易地修改爲您的使用。 –