pourquoi pas faire un sed juste avant pour transformer ton 'code=' en un
caractere unique comme "|" ou un autre caractere a ta guise.
echo "record[1]=1892; code=u001; name=hisname; envr=accept;
visitnbr=1280931" | sed 's/ode=/{/' | cut -d '{' -f2 | cut -d ';' -f1
je trouve ca pas super mega joli, mais bon ca marche.
Ah tu remarqueras que j'ai faits expres de ne pas inclure le c de code
pour etre sur que ca soit a chaque fois le champ "2" du -f2
briner
> Helllow,
>
> J'ai la string suivante dans HTTP_COOKIE :
>
> record[1]=1892; code=u001; name=hisname; envr=accept; visitnbr=1280931
>
> Le truc c'est que je dois r�cup�rer les valeurs de code name et envr.
> La contrainte c'est que les champs peuvent bouger, s'intervertir, d'autres
> champs peuvent arriver, etc...
>
> Pour y arriver, id�alement j'aimerai utiliser cut de la mani�re suivante :
>
> code=`echo "$HTTP_COOKIE" | cut -d'code=' -f2` | cut -d';' -f1`
> name=`echo "$HTTP_COOKIE" | cut -d'name=' -f2` | cut -d';' -f1`
> envr=`echo "$HTTP_COOKIE" | cut -d'envr=' -f2` | cut -d';' -f1`
>
> seulement voil�, cut n'accepte pas plus d'un caract�re comme s�parateur.
>
> J'ai pens� � awk, mais je me demande s'il n'y a pas une solution
> plus simple.
>
> La contrainte technique : uniquement du shell et des commandes
> unix standards (pas de perl, ni de php) et si possible en une seule
> commande (pas de boucles de tests avec if / case)
>
> Avez-vous the solution ?
>
> @++
> JC
> --
> http://www-internal.alphanet.ch/linux-leman/ avant de poser
> une question. Ouais, pour se d�sabonner aussi.
--
+41(o)\ at
76/\ -o762 briner/ \infomaniak
577/ \ / \
. . . . . . . -=Cedric Briner=- ch - dot
/
46b rue Jacques-Dalphin,CH-1227 Geneva \ dot
yuhl/ \com(c)
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.