RDV+DIAL chat illimit� dans ta r�g!
no save
Assistance
Achat
News

Forum | Linux/Unix
[Script bash] Problème caractère echappement
letitibleu, le lun. 23 avr. 2007 à 10:49:15
Bonjour,

Voici le script test.sh :

#!/bin/ksh
echo $* | /usr/bin/nawk ' BEGIN { FS=" # " } { split("EMAIL:TITLE:REGLE:DELAI:NBDISCR:HOSTNAME:CT1:CT2:MESSAGE:FILENAME:HOSTIP:USERNAME:EVENTID:AGENT:EVENTTIME", champs, ":") } { for ( x in champs ) { printf("%s=\"%s\"\n",champs[x],$x); } } ' > essai

Ce script est exécuté par un logiciel, donc les arguments passés en paramètres ne sont pas modifiables. Voici un exemple

1er cas :

./test.sh "test@test.fr # Detection d'une menace non supprimee # RG000 # 30 # 3 # TESTTEST # W32/Spybot. worm.gen.a # trojan # ePO detected an event File infected. Undetermined clean error. Quarantine failed with ID 1276 and severity 4 # c:\documents and settings\ly0000\dookies\ly0000@serving-sys[1].txt # 00.00.00.00 # SYSTEM # 0000000-0000-0000-0000-000000000 # ePO_A00 # 2002-08-12~14:17:18~24~EST"

==> Si on visualise le fichier essai, tout les champs sont complétés.

2ième cas :

./test.sh "test@test.fr # Detection d'une menace non supprimee # RG000 # 30 # 3 # TESTTEST # W32/Spybot. worm.gen.a # trojan # ePO detected an event File infected. Undetermined clean error. Quarantine failed with ID 1276 and severity 4 # c:\documents and settings\ly0000\cookies\ly0000@serving-sys[1].txt # 00.00.00.00 # SYSTEM # 0000000-0000-0000-0000-000000000 # ePO_A00 # 2002-08-12~14:17:18~24~EST"

==> Tous les champs du fichier essai ne sont pas complétés. Le script est coupé. Cela se produit uniquement lorsque le script rencontre une chaine de caractère avec "\c", qui doit être interprété comme une chaine d'échappement je pense ?

Comment faire pour ignorer cette fonction ? J'ai tout essayé mais sans succès........

Merci. Configuration: Windows XP
Internet Explorer 7.0


jipicy
avr. 07
Suivant
REPONSES
jipicy
avr. 07
letitibleu
avr. 07
Version Web
Réalisé par RedShift
no save