Commande find sur Ubuntu
lemzo618
Messages postés
2
Statut
Membre
-
lEprofSonDkon Messages postés 227 Statut Membre -
lEprofSonDkon Messages postés 227 Statut Membre -
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é)...
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
-
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
defind
, 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 !... -