Détection d'un motif - Regexp
Bonjour
Et oui, je dois faire de la regexp en script shell et non en Perl :x .
Voici mon problème. Avec la commande stat, je veux voir si un fichier est vide ou non :
Code:
1 2 3
|
param=`stat -c"%F" keepme/keepme.lst`
if [ `expr $param : 'vide'` > 0 ] |
Si j'affiche la valeur de $param avec un echo, pas de problème, il m'indique bien fichier régulier vide.
Mais c'est sur la condition que je bute. Normalement, avec expr, je veux voir si je détecte le mot vide. Or apparemment, j'écris mal mon appel vers expr.
Où me suis-je trompé ?
Merci d'avance de vos réponses.
@++
Re: [Regexp] Détection d'un motif
Code:
1 2
| param=`stat -c"%F" keepme/keepme.lst`
if [ `expr $param : '.*vide'` > 0 ] |
Ca devrait être mieux ...
A la lecture de "info coreutils expr", dans la rubrique des opérateurs sur les chaines, on voit que expr ajoute implicitement un "^" à l'expression rationnelle fournie. Il faut donc consommer les caractères entre le début (le ^) et le motif souhaité.