In awk, posso cancellare un array con un loop, rendendolo un array vuoto, il che equivale a eliminarlo.
for (key in array) delete array[key];
c'è un modo più facile? Posso eliminare completamente un array, in modo che il nome della variabile possa essere riutilizzato per uno scalare?
delete array
un errore di sintassi sebbene la pagina man dica che il pedice è facoltativo.$ 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 ... >>
È stato più sorprendente scoprire chedelete array[subscript]
, sebbene non mostrato come un errore, anche non ha funzionato, e molte varianti suarray[subscript] = ""
erano tutte ugualmente inefficaci.