protection d'expression régulière / shell / grep - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 18-12-2006 à 12:01:00
cf les dernières réponses:
==> http://forum.hardware.fr/hfr/OSAlt [...] 0687_1.htm
Marsh Posté le 18-12-2006 à 12:07:31
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!
Marsh Posté le 18-12-2006 à 12:51:48
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é
Marsh Posté le 18-12-2006 à 13:46:13
Ca donne quoi avec egrep ou grep -E ?
Marsh Posté le 18-12-2006 à 13:58:44
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.
Marsh Posté le 18-12-2006 à 14:08:56
ah j'avais compris l'inverse excuse moi
euh un ptit coup de sed ?
genre sed -e 's/([;<>\*\|`&\$!#\(\)\[\]\{\}:'"])/\\$1/g'
Marsh Posté le 18-12-2006 à 15:10:51
non mais c'est bon, avec un grep -F -x ${i} blabla.csv, ça marche ;-)
mais sinon, oui, j'avais pensé à sed
merci
Marsh Posté le 18-12-2006 à 11:53:43
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
--edit--
pour les esprits chagrins, oui j'ai RTFM et STFW
Message édité par arghbis le 18-12-2006 à 11:54:46