私のディレクトリにjsとcssファイルがたくさんあります。その中には、内容のmd5()に基づいて名前が付けられていますf10521a21bb013cb81e0909809818ad6.js
。このファイルを一致させるためにfindを使用したいと思います。 0つの結果が返されるのはなぜですか?
find -regex "^[A-f0-9]{32}\.(?:js|css)$"
ベストアンサー1
- 正規表現はファイル名だけでなくパスとも一致するため、文字列の先頭に固定しないでください。
- デフォルトのemacs型正規表現はギャップが好きではないようです。他のものを選択してください。
- 他の正規表現型のどれも非キャプチャグループが好きではないようです。
GNUを使用すると仮定すると、次のことが機能しますfind
。
find . -regextype posix-awk -regex ".*/[a-f0-9]{32}\.(js|css)$"
find . -regextype posix-basic -regex ".*/[a-f0-9]\{32\}\.\(js\|css\)$"
find . -regextype posix-egrep -regex ".*/[a-f0-9]{32}\.(js|css)$"
find . -regextype posix-extended -regex "/[a-f0-9]{32}\.(js|css)$"