awkprovides one-dimensional associative arrays (arrays indexed by string values). All arrays are associative; numeric indices are converted automatically to strings.
array[indx]. Referencing an element creates it if it did not exist previously.
indx in array’.
for (indx in array) …’ to scan through all the individual elements of an array. In the body of the loop,
indxtakes on the value of each element’s index in turn.
for (indx in array)’ loop traverses an array is undefined in POSIX
awkand varies among implementations.
gawklets you control the order by assigning special predefined values to
delete array[indx]’ to delete an individual element. To delete all of the elements in an array, use ‘
delete array’. This latter feature has been a common extension for many years and is now standard, but may not be supported by all commercial versions of
awksimulates multidimensional arrays by separating subscript values with commas. The values are concatenated into a single string, separated by the value of
SUBSEP. The fact that such a subscript was created in this way is not retained; thus, changing
SUBSEPmay have unexpected consequences. You can use ‘
(sub1, sub2, …) in array’ to see if such a multidimensional subscript exists in
gawkprovides true arrays of arrays. You use a separate set of square brackets for each dimension in such an array:
data[row][col], for example. Array elements may thus be either scalar values (number or string) or other arrays.
isarray()built-in function to determine if an array element is itself a subarray.