find
このオプションを使用しようとしていますregex
。しかし、私の正規表現はファイルのデフォルト名だけをキャプチャします。先行して解釈する必要がないように正規表現で使用できる「現在のディレクトリ検索の場所」への参照はありますか.*
?
$File::Find::dir
(inperl
モジュールのようなものを探していますFile::Find
。)
baz\d
たとえば、以下の正規表現に一致するすべてのファイルを見つけたいとします/foo/bar/
。パターンが完全なファイル名と一致しないため、使用すると名前がatのファイルがfind /foo/bar -regex 'baz\d'
見つかりません。だから私が使っているのはうまくいきますが、より強力なものに置き換えることができるかどうか疑問に思います。baz1
/foo/bar/
baz\d
/foo/bar/baz1
find /foo/bar -regex '.*baz\d'
.*
答え1
正規表現パターンにスラッシュを含めて、ファイル名の先頭を「固定」することができます。
find /foo/bar/ -regex '.*/baz\d'
baz1
これにより、代わりに、etc。ファイルのみ取得できますbazbaz1
。