Re: [問題] 讓命令引數支援 -R 和 *
※ 引述《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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章