En awk, puedo borrar una matriz con un bucle, convirtiéndola en una matriz vacía, lo que equivale a eliminarla.
for (key in array) delete array[key];
¿Hay una manera más sencilla? ¿Puedo eliminar por completo una matriz para que el nombre de la variable pueda reutilizarse para un escalar?
delete array
un error de sintaxis, aunque la página del manual dice que el subíndice es opcional.$ awk 'BEGIN { A[1] = 0; delete A; }' awk: Syntax error at line 1 of program << BEGIN { A[1] = 0; de ... >> context is BEGIN { A[1] = 0; delete >>> A; <<< awk: illegal statement at line 1 of program << BEGIN { A[1] = 0; de ... >>
Fue más sorprendente encontrar quedelete array[subscript]
, si bien no se muestra como un error, tampoco funcionó, y muchas variantes enarray[subscript] = ""
fueron igualmente ineficaces.split("", array)