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.