Egrep & ET logique
Résolu
gunbol
Messages postés
47
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
Je suis à la recherche d'une solution toute simple pour faire un egrep avec expression contenant un ET.
example
echo "coucou---------test" | egrep -e "coucou&test"
---> coucou---------test
Cela marche bien avec un OU logique symbolisé par |
J'aimerais bien avoir le ET en une seule et même expression
Je sais qu'on pourrait avoir la solution avec un
echo "coucou---------test" | egrep -e "coucou" | egrep -e "test"
, mais j'aimerais éviter cette solution.
(une précision, je suis sur Solaris 9)
Merci d'avance.
Gunt.
Je suis à la recherche d'une solution toute simple pour faire un egrep avec expression contenant un ET.
example
echo "coucou---------test" | egrep -e "coucou&test"
---> coucou---------test
Cela marche bien avec un OU logique symbolisé par |
J'aimerais bien avoir le ET en une seule et même expression
Je sais qu'on pourrait avoir la solution avec un
echo "coucou---------test" | egrep -e "coucou" | egrep -e "test"
, mais j'aimerais éviter cette solution.
(une précision, je suis sur Solaris 9)
Merci d'avance.
Gunt.
A voir également:
- Egrep -f
- Sfc /scannow /f /r - Guide
- Chkdsk c /f /r - Guide
- F lux - Télécharger - Divers Utilitaires
- F-prot - Télécharger - Antivirus & Antimalwares
- F engine - Forum Ecran
5 réponses
Hello,
Merci pour vos réponses !
En revanche
egrep 'coucou.*test' ne trouvera que "coucoublablatest" et non "testblablacoucou"
et
egrep '(test|coucou).*(test|coucou)' essai
trouvera "coucoublablacoucou" alors que test n'y figure pas :o) !
Je pense qu'il va falloir que j'enchaine les greps... :o(
merci pour votre aide.
@+
Gunth.
Merci pour vos réponses !
En revanche
egrep 'coucou.*test' ne trouvera que "coucoublablatest" et non "testblablacoucou"
et
egrep '(test|coucou).*(test|coucou)' essai
trouvera "coucoublablacoucou" alors que test n'y figure pas :o) !
Je pense qu'il va falloir que j'enchaine les greps... :o(
merci pour votre aide.
@+
Gunth.
Salut,
en fait tu n'as pas besoin de ET quand la recherche se fait sur la même ligne
il suffit d'utiliser le métacartère point . qui signifie n'importe quelle caractère quantifié par *
106485010510997108
en fait tu n'as pas besoin de ET quand la recherche se fait sur la même ligne
il suffit d'utiliser le métacartère point . qui signifie n'importe quelle caractère quantifié par *
egrep 'coucou.*test'--
106485010510997108
Salut,
Une solution...
Une solution...
egrep '(test|coucou).*(test|coucou)'Ce qui donne :
jp@MDK:~/tmpfs ssh$ cat essai coucou tout seul test tout seul coucou et test ensemble test et coucou encore une fois test seul coucou seul aussi ici coucou et là test conjointement jp@MDK:~/tmpfs ssh$ egrep '(test|coucou).*(test|coucou)' essai coucou et test ensemble test et coucou encore une fois ici coucou et là test conjointement jp@MDK:~/tmpfs ssh$;-))
jp@MDK:~/tmpfs ssh$ cat essai
coucou tout seul
test tout seul
coucou et test ensemble
test et coucou encore une fois
test seul
coucou seul aussi
ici coucou et là test conjointement
là coucou et coucou
et ici test et test
jp@MDK:~/tmpfs ssh$ egrep 'test.*coucou|coucou.*test' essai
coucou et test ensemble
test et coucou encore une fois
ici coucou et là test conjointement
jp@MDK:~/tmpfs ssh$
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et avc ça ?
A plus
Edit: arf :(
(\<test\>.*\<coucou\>|\<coucou\>.*\<test\>)ça reste simple, et ça evite les "coucou coucou", ou autre "test test"
A plus
Edit: arf :(