2017-08-24 131 views
1

獲取給定目錄中所有文件的全名列表(包括子目錄中的文件)的最簡單方法是什麼?獲取目錄中所有文件的名稱(Perl)

是的,我知道File::Find模塊。但有沒有更簡單的方法?

+0

Define'easiest'... –

+0

我不認爲它比File :: Find更容易,除非你完全避免使用Perl並使用不同的工具,例如,如果你只是想知道多少這些文件佔用的空間,你可以在Linux上使用'du -hs'。 – Robert

+1

[Path :: Tiny-> iterator](https://metacpan.org/pod/Path::Tiny#iterator) –

回答

4

File::Find::Rule是一個非常有用的工具

perl -Mstrict -MFile::Find::Rule -wE' 
    my @all = File::Find::Rule->in("."); 
    say for @all 
' 

你可以先獲取對象my $ffr = File::Find::Rule,然後在其上設置的規則。

Path::Tiny->iterator是非常好的,以及,對於「懶洋洋地」走一棵樹

perl -Mstrict -MPath::Tiny -wE' 
    my $iter = path(".")->iterator({recurse => 1}); 
    while (my $path = $iter->()) { say $path } 
' 

在那裏你可以很方便地詢問遇到的內容。該模塊有許多其他用途和文件系統工作的便利,這幾乎是一個「側面」功能。

Path::Iterator::Rule似乎也值得一試,因爲這兩個功能和易用性。

相關問題