Dylan,

awk does simulate multi-dimensional arrays (using the form col[dl,pit,sensor]) so you could use:
col[1,1,1] = 4
col[1,1,2] = 5
...
col[1,2,1] = 8
...

You could then read the data using:
while(getline <"dataloggerfile_d" > 0) {
   for(p = 1; p <= numpits; p++)
      for(s = 1; s <= numsensors; s++)
         do_cool_stuff($col[d,p,s])

Regards...

        ...leo

At 12:41 PM 5/3/2007, you wrote:

Hi everyone,

I have a rather interesting problem, that i would like to solve with awk or
bash scripting - but if all else fails then I will switch to python.

here is the idea:

i have a set of files, each with 30 columns - coming from a set of 10 data
loggers. each file represents the output from a single datalogger. the
ordering of the columns is consistant, and maps to a soil-pit id and moisture
probe id. I need to create a look-up table to index ids to column numbers.
Then, looping over the dimensions of the look-up table would allow me to
process the file line-by line, column-by column accordingly:

do bash or awk support these type of data structures?

this is how i would envision it in something like python / php:

# a multi-dimensional hash for each datalogger:
# referencing the sensors assigned to a pit
# and the row number in which the sensor values exist in the output file
datalogger_1[
pit_1[
sensor_1 => 4
sensor_2 => 5
sensor_3 => 6
sensor_4 => 7
],
pit_2[
sensor_1 => 8
sensor_2 => 9
sensor_3 => 10
sensor_4 => 11
sensor_5 => 12
],
...
]


# the logic of the program would be :
iterate over the pits in the datalogger hash
        iterate over the sensors in each pit hash
                lookup the column number for each sensor
                do cool stuff
        end
end

any ideas ? or should I just stick with python for this?

cheers,

--
Dylan Beaudette
Soils and Biogeochemistry Graduate Group
University of California at Davis
530.754.7341
_______________________________________________
vox-tech mailing list
[email protected]
http://lists.lugod.org/mailman/listinfo/vox-tech
_______________________________________________
vox-tech mailing list
[email protected]
http://lists.lugod.org/mailman/listinfo/vox-tech

Reply via email to