[gull] AWK: associative array
sneaky56 at gmx.net
sneaky56 at gmx.net
Tue Dec 30 21:35:01 CET 2003
pierre maitre <maitre at cdg.ch> writes:
> Curieusement, ça marche pour la première attribution et ensuite je
> n'arrive pas à ré-attribuer une nouvelle valeur à "champ[nom]" lorsque
> "nom" change à la prochaine itération de la boucle.
En essayant d'effacer l'array ("delete champ") avant de le reutiliser?
(avec qques modifications mineures du scripts (y compris RS et FS pour
que ça passe correctemnent chez moi), le reste n'étant que cosmétique
pour moi):
======================================================================
BEGIN{
#RS = "^L^M";
RS = "\014";
#FS = "^M";
FS = "\012"
OFS = "\t";
}
{
print "** Nouvelle entrée (NF=" NF "): **";
delete champ;
for (i=1; i<= NF; i++)
{
split($i,array,": ");
nom = array[1];
val = array[2];
champ[nom]=val;
print i, nom, champ[nom];
print "AAA", champ["Type"];
print "BBB", champ["LastName"];
print "CCC", champ["FirstName"];
print "DDD", champ["CompanyName"];
print "EEE", champ["OfficeStreetAddress"];
print "FFF", champ["OfficeCity"];
print "GGG", champ["City"];
print "____________________";
}
print "====================";
}
======================================================================
donne le résultat suivant attaché.
tom
-------------- next part --------------
** Nouvelle entrée (NF=18): **
1 Type Person
AAA Person
BBB
CCC
DDD
EEE
FFF
GGG
____________________
2 OrgTable E0
AAA Person
BBB
CCC
DDD
EEE
FFF
GGG
____________________
3 LastName MEYER
AAA Person
BBB MEYER
CCC
DDD
EEE
FFF
GGG
____________________
4 FirstName Abel
AAA Person
BBB MEYER
CCC Abel
DDD
EEE
FFF
GGG
____________________
5 FullName Abel MEYER
AAA Person
BBB MEYER
CCC Abel
DDD
EEE
FFF
GGG
____________________
6 JobTitle Monsieur
AAA Person
BBB MEYER
CCC Abel
DDD
EEE
FFF
GGG
____________________
7 CompanyName Ecole secondaire
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE
FFF
GGG
____________________
8 OfficeStreetAddress En Forestaux
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF
GGG
____________________
9 OfficeCity Tours
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG
____________________
10 BusinessAddress En Forestaux Tours,
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG
____________________
11 StreetAddress En Forestaux
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG
____________________
12 City Tours
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG Tours
____________________
13 HomeAddress En Forestaux Tours,
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG Tours
____________________
14 Principal CN=Pierre Bolomey/OU=DFJ/O=admin-TX
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG Tours
____________________
15 AssignedTo CN=Pierre Bolomey/OU=DFJ/O=admin-TX
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG Tours
____________________
16 $UpdatedBy CN=Pierre Bolomey/OU=DFJ/O=admin-TX
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG Tours
____________________
17
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG Tours
____________________
18
AAA Person
BBB MEYER
CCC Abel
DDD Ecole secondaire
EEE En Forestaux
FFF Tours
GGG Tours
____________________
====================
** Nouvelle entrée (NF=15): **
1
AAA
BBB
CCC
DDD
EEE
FFF
GGG
____________________
2 Type Person
AAA Person
BBB
CCC
DDD
EEE
FFF
GGG
____________________
3 ExcludeFromView D
AAA Person
BBB
CCC
DDD
EEE
FFF
GGG
____________________
4 $PublicAccess 1
AAA Person
BBB
CCC
DDD
EEE
FFF
GGG
____________________
5 Categories Professionnel
AAA Person
BBB
CCC
DDD
EEE
FFF
GGG
____________________
6 OrgTable E0
AAA Person
BBB
CCC
DDD
EEE
FFF
GGG
____________________
7 CompanyName Académie de Blois - Rectorat
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF
GGG
____________________
8 OfficeCity Blois
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
9 BusinessAddress Blois,
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
10 OfficePhoneNumber 0033 41 xx xx 70
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
11 Principal CN=Pierre Bolomey/OU=DFJ/O=admin-TX
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
12 AssignedTo CN=Pierre Bolomey/OU=DFJ/O=admin-TX
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
13 $UpdatedBy CN=Pierre Bolomey/OU=DFJ/O=admin-TX
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
14
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
15
AAA Person
BBB
CCC
DDD Académie de Blois - Rectorat
EEE
FFF Blois
GGG
____________________
====================
** Nouvelle entrée (NF=2): **
1
AAA
BBB
CCC
DDD
EEE
FFF
GGG
____________________
2
AAA
BBB
CCC
DDD
EEE
FFF
GGG
____________________
====================
-------------- next part --------------
--
as seen in a signature:
"In an open world without walls and fences,
who needs Gates and windows?"
More information about the gull
mailing list