jultey a écrit :
Salut,
J'ai un p'tit problème avec une expression régulière dans un shell...
Je voudrais lister les fichiers qui ont un nom de 4 caracteres et eventuellement une extension quelconque (XXXX[.extension])
J'y suis arrivé avec cette commande :
ls /home/jultey/essai/ | grep "\<[a-zA-Z0-9]\{4\}\>"
qui rend bien ce que j'attends :
1324.to
allo.lpg
argp
argz.h
stab.h
time.h
titi
toto
utmp.h
Mais je ne comprend pas ou le shell voit que l'extension est facultative...
puisqu'entre le {4} et le \> je n'ai rien mit...
Si quelqu'un pouvait m'éclairer...
Merci
|
Dans ton modèle, tu ne précises pas le début ou la fin de la chaine. Donc le grep cherche 4 caractères (hors ponctuation, c'est à dire en particulier sans . ) qui se suivent.
le utmp.h sort bien
mais un un.deu.troi marcherait aussi ....