Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3046 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  protection d'expression régulière / shell / grep

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

protection d'expression régulière / shell / grep

n°871818
arghbis
salops de dauphins
Posté le 18-12-2006 à 11:53:43  profilanswer
 

salut les gens,

 

connaitriez-vous une option de grep ou un outil qui protège une expression régulière?

 

je m'explique : j'ai un petit script shell avec un for i in blabla; do grep -e "^$i$" machin.csv; done

 

Le problème est que $i peut contenir des caractères spéciaux d'expression régulière, tels que [, ], +, etc

 

donc, je voudrais une petite option de grep ou un outil du shell ou autre qui prenne en entrée ma variable et me donne en sortie la chaine de caractère avec les caractères spéciaux protégés.

 

vous connaissez?

 

merci pour les tuyaux

 

:hello:

 

--edit--

 

pour les esprits chagrins, oui j'ai RTFM et STFW :o


Message édité par arghbis le 18-12-2006 à 11:54:46
mood
Publicité
Posté le 18-12-2006 à 11:53:43  profilanswer
 

n°871820
macfennec
Zorro del Sáhara
Posté le 18-12-2006 à 12:01:00  profilanswer
 

cf les dernières réponses:
 
==> http://forum.hardware.fr/hfr/OSAlt [...] 0687_1.htm


Message édité par macfennec le 18-12-2006 à 12:01:14
n°871823
arghbis
salops de dauphins
Posté le 18-12-2006 à 12:07:31  profilanswer
 

voui mais non. Je sais comment faire pour protéger une chaine de caractères. Mais le faire automagiquement sur des variables, je ne sais point. Et je ne peux pas utiliser directement l'option pour ne pas interprêter la chaine comme une regex, sinon je ne peux utiliser les ^ et $ pour indiquer le match complet

 

mais merci quand même

 

--edit--

 

mais ça me donne une idée, en utilisant le -F et le -x ça devrait le faire! :hello:


Message édité par arghbis le 18-12-2006 à 12:08:40
n°871839
arghbis
salops de dauphins
Posté le 18-12-2006 à 12:51:48  profilanswer
 

bon ça marche pas. Il m'interprête quand même ma variable comme une regexp...

 

d'autres idées?

 

--edit--
j'ai rien dit, le message d'erreur venait d'un grep non corrigé


Message édité par arghbis le 18-12-2006 à 13:42:05
n°871849
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 18-12-2006 à 13:46:13  profilanswer
 

Ca donne quoi avec egrep ou grep -E ?


Message édité par Xavier_OM le 18-12-2006 à 13:47:15

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°871854
arghbis
salops de dauphins
Posté le 18-12-2006 à 13:58:44  profilanswer
 

ben ça peut pas marcher puisque justement, ça force l'interprétation en tant qu'expresiion régulière et que je veux le comportement inverse.

n°871856
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 18-12-2006 à 14:08:56  profilanswer
 

ah j'avais compris l'inverse excuse moi
euh un ptit coup de sed :o ?
genre sed -e 's/([;<>\*\|`&\$!#\(\)\[\]\{\}:'"])/\\$1/g'


Message édité par Xavier_OM le 18-12-2006 à 14:14:37

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°871867
arghbis
salops de dauphins
Posté le 18-12-2006 à 15:10:51  profilanswer
 

non mais c'est bon, avec un grep -F -x ${i} blabla.csv, ça marche ;-)
 
mais sinon, oui, j'avais pensé à sed
 
merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  protection d'expression régulière / shell / grep

 

Sujets relatifs
[shell][MySQL] Executer une requete select[BASH][SOL]grep de grep
expression régulière shellslist (bash shell)
[PERL] changer de répertoire dans le shellAdresse IP sous réseau, et script perl, shell
Linux et script shellScript shell : Récupérer l'adresse ip d'un site
Plus de sujets relatifs à : protection d'expression régulière / shell / grep


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR