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.

Reply via email to