faire correspondre les files basés sur un md5 en utilisant find

J'ai un groupe de files js et css dans un directory. Certains d'entre eux ont reçu un nom basé sur un md5 () de leur contenu (ressemble à f10521a21bb013cb81e0909809818ad6.js ). Je voudrais faire correspondre ces files en utilisant find. Pourquoi cela renvoie 0 résultats?

 find -regex "^[A-f0-9]{32}\.(?:js|css)$" 

  • L'expression rationnelle est comparée au path, pas seulement au nom du file, donc ne l'ancrez pas au début de la string.
  • L'expression régulière de type emacs par défaut semble ne pas aimer les intervalles. Choisis un autre.
  • Ni les autres types d'expression régulière semblent aimer les groupes non capturants.

Ces travaux, en supposant que vous utilisez 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)$"