Walrus,Digit. | 一覧 | 検索 | 更新履歴(RSS) | 新規作成
はてなブックマークに追加 はてなブックマークを表示 編集 | 編集(管理者用) | 差分

Perlメモ/File::Findモジュール

編集

File::Findモジュールについてのメモ。

ワンライナー。

はてなブックマークを表示 はてなブックマークに追加 リンク 編集

長すぎてスマートなワンライン・ツールというのは憚られますが、自分が再利用するために、File::Findモジュールを使ってワンラインで行った作業をメモ。

カレントディレクトリ以下のファイル・ディレクトリ一覧。

perl -MFile::Find -e "find(sub {print qq($File::Find::name\n);}, '.');"

カレントディレクトリ以下から、"CVS"ディレクトリを検索。

perl -MFile::Find -e "find(sub {print qq($File::Find::name\n) if (-d $_ and $_ eq 'CVS');}, '.');"

カレントディレクトリ以下から、"CVS"ディレクトリを削除(File::Pathモジュールを併用)。

perl -MFile::Find -MFile::Path -e "find(sub {rmtree($_, 1, 1) if (-d $_ and $_ eq 'CVS');}, '.');"

カレントディレクトリ以下のファイルを、更新日時つきでリストアップ。

更新日時の整形のためにDate::Formatモジュールを読み込みtime2str関数を使用していますが、新旧比較のための更新時刻値(そのままの1970年1月1日からの秒数)が出力されるだけでよければ、Date::Formatモジュールは不要です。

perl -MFile::Find -MDate::Format -e "find(sub { printf(qq([%s] %s\n), time2str('%y/%m/%d %T', (stat($_))[9]), $File::Find::name) if (-f $_);}, '.');"

コメント

[[#rcomment]]