Antecedentes: Estou tentando criar um programa que leia vários arquivos e crie um hist a partir dos dados em todos eles. Os dados têm 3 recursos, então estou construindo uma matriz multidimensional.
o código é semelhante a este:
gawk '{
print FNR, NR" done";
if(FNR==NR) {hist["E"][0][1]=0; hist["V"][2][12]=1;}
else {hist["E"][1][1]=2; hist["V"][1][0]=3; print "here"}
} END {
for(u in hist["E"])
for(f in hist["E"][u])
print "E", u, f, hist["E"][u][f];
}' file file
No entanto, o gawk (no cygwin, mas não no Linux) reclama que estou usando um escalar como um array:
gawk: cmd. line:6: fatal: attempt to use a scalar value as array
É algo que pode ser trabalhado sem mudar para uma máquina Linux?
Adicionando informações de versão para integridade:
Windows 7 cygwin/x 1.19.6 gawk: GNU Awk 4.2.1, API: 2.0 (GNU MPFR 4.0.1-p6, GNU MP 6.1.2) Linux: Fedora 28 ( 4.17.19-200.fc28.x86_64) gawk: GNU Awk 4.2.1, API: 2.0 (GNU MPFR 3.1.6-p2, GNU MP 6.1.2)