Re: bash : transformer une chaine de caractère en tableau

Top Page

Reply to this message
Author: Jean-Noel Avila
Date:  
To: anne aublanc
CC: Liste Guilde
Subject: Re: bash : transformer une chaine de caractère en tableau
anne aublanc wrote:
> ----- Original Message -----
> From: "Edgar Bonet" <guilde@???>
> To: "Liste Guilde" <guilde@???>
> Sent: Thursday, July 15, 2004 2:37 PM
> Subject: Re: bash : transformer une chaine de caractère en tableau
>
>
> | Le jeudi 15 juillet, Jerome KIEFFER a écrit :
> | > le shell contient des tableaux ? je croyais que les 2 seuls types
> | > étaient les entiers et les chaines de caracteres...
> |
> | Si, si. Il y a des tableaux dans bash :
> |
> |     man bash | less -j2 +/'^   Arrays$'
> |
> | > avec python ?
> |
> | On avait le droit de répondre dans un autre langage ;-) ?
> |
> |     @tableau = split(/\s+/, $chaine);  # en Perl
> |
> | On est un peu hors sujet, mais peut-être pas complètement:
> |
> | Anne a écrit:
> | > J'ai réussi avec cut... mais c'est un peu lourd...
> |
> | Dès que tu as besoin de données un peu structurées, les choses
> | deviennent vite très peu commodes avec bash. C'est le signe qu'il faut
> | laisser tomber bash pour ton problème particulier et passer à un autre
> | langage. Typiquement Python ou Perl remplacent très bien bash pour des
> | scripts qui commencent à devenir un peu compliqués.
> |

>
> Je voulais tester la cde dialog!
>
> ce que j'ai fait avec cut :
> ----------------------
> #! /bin/sh
>
> a="1 2 3 4 5"
> i=1
> while [ -n "`echo $a | cut -d" " -f $i -s`" ];
> do
>         truc[$i]=`echo $a | cut -d" " -f $i -s`
>         echo "-- ${truc[$i]} -- "
>         i=`expr $i + 1`
> done
> ---------------------

>
> anne
>


sans faire dans l'usine à gaz, alors :

a='1 2 3 4 5'
for i in $a; do echo "-- $i -- "; done




-- 
* Jean-Noel Avila                       Tel. : +33 (0)4 79 25 31 32
* ALEPH S.A.                            Fax  : +33 (0)4 79 25 24 27
* Savoie Technolac BP 264
* F-73375 Le Bourget du Lac