awkでは、ループを使用して配列を消去して空の配列にすることができます。これは配列を削除するのと同じです。
for (key in array) delete array[key];
より簡単な方法がありますか?変数名をスカラーで再利用できるように配列を完全に削除できますか?
ベストアンサー1
文法
delete array
現在のバージョンのPOSIXではサポートされていませんが、ほとんどすべての既存の実装(元のawk、GNU、mawk、およびBusyBoxを含む)はこれをサポートしています。 POSIXの将来のバージョンに追加される予定です。欠陥0000544)。
すべての配列要素を消去する代替方法は、split
既存の要素をすべて削除することです。これは移植可能で標準に準拠し、文ではなく式です。
split("", array)
を含むこれらのすべては、delete array
元のawk、GNU awk、およびmawkの変数を配列変数として表示します(BusyBox awkではありません)。私が知っている限り、変数が配列として使用される場合、スカラー変数として使用することはできません。