Re: [問題] 讓命令引數支援 -R 和 *

看板Perl作者 (St. Kevin)時間15年前 (2010/08/21 22:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《a3181388 (Mr.3181388)》之銘言: : 大家好 弱者小弟我想請教一下 : 要怎麼讓命令引數支援 -R 和 * : 目前已經可以讓許多檔案當作引數 : 如 try.pl 1.txt 2.txt : 想讓程式支援資料夾下所有子資料下遞迴的所有檔案 : 不知該怎麼做 謝謝 可以使用File::Find模組(http://perldoc.perl.org/File/Find.html)。 至於 * 的部份,你的shell(e.g. bash)會幫你展開成該目錄底下的所有檔案名稱。 Example: #!/usr/bin/env perl use 5.010; use strict; use File::Find; my @files; sub wanted { # 在這個function過濾和處理你要的檔案 # -f 等同於 -f $_ ,測試該檔名是否為一個檔案,而非目錄或其他東西 -f && push @files, $_; } # find預設會遞迴搜尋資料夾下的檔案 (preorder traversal) find(\&wanted, @ARGV); # 印出@ARGV中所有檔案、目錄底下的檔案的檔名 say join " ", @files; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.214.6 ※ 編輯: zard1989 來自: 140.112.214.6 (08/21 23:44)
文章代碼(AID): #1CR-dDY6 (Perl)
文章代碼(AID): #1CR-dDY6 (Perl)