Commande find sur Ubuntu

Bonjour toute monde,
Quelqu'un pourrait, avec la commande "find", lister le nom des répertoires dont le premier caractère est un chiffre et comportant exactement 4 lettres minuscules ?

J'ai pensé à faire #find . -name "[0-9][a-z][a-z][a-z][a-z]"#
...et là je me suis rendu compte de deux erreurs de compréhension de ma part : D'abord le fait que l'énoncé ne sous-entende pas que le nom des fichiers doit impérativement comporter 5 caractères; Ensuite que les caractères qui y sont décrits ne doivent pas nécessairement être successifs.
J'ai alors tenté de me corriger avec : #find . -name "[0-9]*[a-z]*[a-z]*[a-z]*[a-z]*"#
...et là, une autre erreur fait surface : les "*" étant des jokers, peuvent remplacer des lettres minuscules ce qui augmenterait le nombre de lettres minuscules (alors que fixé à 4 dans l'énoncé)...

2 réponses

  1. Je vous propose :

    find . -name "[0-9][^a-z]*[a-z][^a-z]*[a-z][^a-z]*[a-z][^a-z]*[a-z][^a-z]*"
    1. hmm. le souci va persister : les astérisques sont toujours remplacés par tout ou rien.
      or, "tout" inclut les minuscules; cela ne restreint donc pas leur nombre.
  2. salut,

    autant que je sache, les globs (correspondance de motifs en shell) ne permettent pas de compter les correspondances, ou de restreindre leur étendue.
    *
    tout ou rien
    ?
    un seul
    [ ]
    liste ou plage de caractères

    en regex, on peut limiter à un certain nombre ou à une fourchette le nombre de correspondances d'un motif (
    {n}
    , ou
    {n,m}
    ), ou exprimer qu'il y en a un (
    ?
    ), un ou aucun (
    *
    ), ou au moins un (
    +
    ).
    il faudrait en conséquence utiliser l'option
    -regex
    de
     find
    , et avec les classes [:digit:], [:upper:], [:lower:] énumérer toutes les combinaisons possibles parmi lesquelles les 4 minuscules suivent le nombre, sont plus ou moins consécutives et panachées avec les majuscules, et pour finir groupées à la fin du nom de fichier.

    bon courage !...
    1. D'accord je comprends...Il me semblait aussi que mon entreprise était impossible vu les outils que j'avais en ma possession.

      Merci beaucoup :)
    2. @lemzo618pourquoi "impossible" ?
      la commande
      find
      disponible sur ton système n'a pas d'option
      -regex
      ?