Dans awk, je peux effacer un tableau avec une boucle, ce qui en fait un tableau vide, ce qui équivaut à le supprimer.
for (key in array) delete array[key];
Existe-t-il un moyen plus simple? Puis-je supprimer complètement un tableau, afin que le nom de la variable puisse être réutilisé pour un scalaire?
delete array
une erreur de syntaxe bien que la page de manuel indique que l'indice est facultatif.$ 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 ... >>
Il était plus surprenant de constater quedelete array[subscript]
, bien que cela ne soit pas montré comme une erreur, cela ne fonctionnait pas non plus, et de nombreuses variantes surarray[subscript] = ""
étaient toutes également inefficaces.