-->
./
<!-- フラ&#65533;ュが見れな&#65533;のためにここに何か書&#65533; --> フラ&#65533;ュがインス&#65533;&#65533;ルされて&#65533;&#65533;たいで&#65533;&#65533;&#65533;

2009年10月29日

[Perl]指定したディレクトリを辿って条件に合ったファイルのリストを作成

シェルのfindコマンドやコマンドをパイプで繋いだ方が、簡単そうですが、Perlの勉強をかねてやってみました。ずいぶん時間が掛かりましたが漏れなくうまくいったみたいです。スクリプトを作った方が、すっきり簡単なはずですが、あえてコマンドラインでやってみました。
 1行が長くなりすぎるので強制改行を行っており、2行目の頭にある>は、第二プロンプトの表示です。
 絞り込みの条件は「2009xxxx」という日付を表す書式が拡張子の直前にあるjpeg画像ファイルです。
 なぜ、こんなスクリプトを作ろうかと思ったかというと、zipコマンドで所定の条件に当て嵌まるファイルのアーカイブを作りのが目的でした。

u8w@u8w-desktop:~$ perl -MFile::Find -e \
> 'find(sub {print "$File::Find::name\n"  if $File::Find::name  =~ /([0-9a-zA-Z\/_-])*\/([0-9a-zA-Z_-])*2009\d{4}\.jp[e]?g$/}, ".");'
./xfyBlogEditor/thumbu9-xfy_20091018.jpeg                                                                                           
./kokuso/google-site/analytics_sites-google_20090220-20090322.jpg                                                                   
./kokuso/jpegs/trends-google-20090402.jpeg                                                                                          
./kokuso/jpegs/Analyics-sites_google-20090401.jpeg                                                                                  
./kokuso/jpegs/Analyics-cocolog-20090401.jpeg                                                                                       
./kokuso/jpegs/20090331/nakayama-blog-20090313.jpeg                                                                                 
./kokuso/jpegs/20090331/digikam-20090321.jpeg                                                                                       
./kokuso/jpegs/20090331/mapae_20090327.jpeg                                                                                         
./画像/suzuka-20090427.jpg                                                                                                          
./画像/hatena-photo/google-sites_20090510.jpeg
(以下省略)

Powered by ScribeFire.

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/33273388

この記事へのトラックバック