Cherche une commande unix
Résolu/Fermé
Littlenico
Messages postés
68
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
5 mars 2009
-
26 oct. 2006 à 18:18
poumiZ - 5 juin 2007 à 16:51
poumiZ - 5 juin 2007 à 16:51
A voir également:
- Cherche une commande unix
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
3 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 oct. 2006 à 19:02
26 oct. 2006 à 19:02
Salut,
je ne suis pas sur si j'ai bien saisie. C'est ça que tu veux?
je ne suis pas sur si j'ai bien saisie. C'est ça que tu veux?
# ls -l total 0 -rw-r--r-- 1 root root 0 2006-10-26 19:06 aaammbbb -rw-r--r-- 1 root root 0 2006-10-26 18:48 aaammsdkjm -rw-r--r-- 1 root root 0 2006-10-26 18:57 bbmem -rw-r--r-- 1 root root 0 2006-10-26 18:47 madfsdm -rw-r--r-- 1 root root 0 2006-10-26 18:47 mamiemando -rw-r--r-- 1 root root 0 2006-10-26 18:56 mamie.txt -rw-r--r-- 1 root root 0 2006-10-26 18:48 mm -rw-r--r-- 1 root root 0 2006-10-26 18:47 mmdjfkLes fichiers dont le nom contient seulement 2 m quelque soit leur position
# ls -l * | grep -x '[^m]*m[^m]*m[^m]*' -rw-r--r-- 1 root root 0 2006-10-26 19:06 aaammbbb -rw-r--r-- 1 root root 0 2006-10-26 18:57 bbmem -rw-r--r-- 1 root root 0 2006-10-26 18:47 madfsdm -rw-r--r-- 1 root root 0 2006-10-26 18:56 mamie.txt -rw-r--r-- 1 root root 0 2006-10-26 18:48 mm -rw-r--r-- 1 root root 0 2006-10-26 18:47 mmdjfklami20j
Littlenico
Messages postés
68
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
5 mars 2009
2
26 oct. 2006 à 19:21
26 oct. 2006 à 19:21
heu oui c'est parfait. il me manquait juste un " non m". merci
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 oct. 2006 à 20:59
26 oct. 2006 à 20:59
Re,
il me manquait juste un " non m".
Souvent on n'aboutit pas à nos recherches avec les regex puisque on raisonne mal la regex et pas parce que on ne connaît pas le métacaractères (qui ne sont pas nombreux).
Ta façon de raisonner la regex est un peu fausse, si je n'abuse pas.
non m pour toi correspond à [^m]
suivant ton raisonnement [m] correspond à m
En fait [m] c'est une classe de caractère qui fait correspondre au caractère m, tandis que [^m] c'est une classe de caractère complementée qui fait correspondre à n'importe quel caractère qui n'est pas m (ce qui n'est pas la même chose avec non m qui veut dire que ça peut être un m ou pas)
Le but d'une regex c'est de faire correspondre et pas de ne pas faire correspondre (pour ça on utilise les opérateurs d'un langage de programmation)
En bref [^m] veut dire faire correspondre à tout caractère qui n'est pas m et pas ne pas faire correspondre au caractère m.
Cette subtilité on peut l'expliquer avec un petit exemple
echo "Salut" | egrep 't[^m]
Normalement si on pense à ne pas faire correspondre au caractère m la regex doit réussir. Mais ce n'est pas le cas.
Pourquoi?
Puisque [^m] veut plutôt dire de faire correspondre à quelque chose et dans notre cas t c'est le dernière caractère.
Bonne continuation.
lami20j
il me manquait juste un " non m".
Souvent on n'aboutit pas à nos recherches avec les regex puisque on raisonne mal la regex et pas parce que on ne connaît pas le métacaractères (qui ne sont pas nombreux).
Ta façon de raisonner la regex est un peu fausse, si je n'abuse pas.
non m pour toi correspond à [^m]
suivant ton raisonnement [m] correspond à m
En fait [m] c'est une classe de caractère qui fait correspondre au caractère m, tandis que [^m] c'est une classe de caractère complementée qui fait correspondre à n'importe quel caractère qui n'est pas m (ce qui n'est pas la même chose avec non m qui veut dire que ça peut être un m ou pas)
Le but d'une regex c'est de faire correspondre et pas de ne pas faire correspondre (pour ça on utilise les opérateurs d'un langage de programmation)
En bref [^m] veut dire faire correspondre à tout caractère qui n'est pas m et pas ne pas faire correspondre au caractère m.
Cette subtilité on peut l'expliquer avec un petit exemple
echo "Salut" | egrep 't[^m]
Normalement si on pense à ne pas faire correspondre au caractère m la regex doit réussir. Mais ce n'est pas le cas.
Pourquoi?
Puisque [^m] veut plutôt dire de faire correspondre à quelque chose et dans notre cas t c'est le dernière caractère.
Bonne continuation.
lami20j
5 juin 2007 à 16:51