Bonjour 
L'initialisation en masse par constantes n'existe simplement pas.
il faut faire :
Mais si tu y tiens, tu peux filouter avec awk;
echo -e "a[]={2,5};\na[1];" | awk -F'[[{,}]' '/[[:alnum:]_]*\[\]={.*};?/{for (i=3;i<NF;i++) print $1"["i-3"]="$i";";next;} 1' |bc
echo -e "bill[]={2,5,6,8,9,7,2,3,4,5,89,23};\nbill[5];" | awk -F'[[{,}]' '/[[:alnum:]_]*\[\]={.*};?/{for (i=3;i<NF;i++) print $1"["i-3"]="$i";";next;} 1' |bc
1 2 3 4 5 6 7
| $ cat infile
autre[]={0,1,2,3,4};
autre[5];
autre[3];
$ cat infile | awk -F'[[{,}]' '/[[:alnum:]_]*\[\]={.*};?/{for (i=3;i<NF;i++) print $1"["i-3"]="$i";";next;} 1' |bc
0
3 |
Par contre, interdiction, avec cette formule, de mettre autre chose sur la ligne de définition d'un tableau.
Partager