私はファイルa.txtを持っています。 各行には多くの番号がA.TXTにありますawkでマップをクリアする方法は?
1 2 3 1 2
5 6 7 7
19 20 20
私は以下の結果と同様に、重複した番号なし各行を印刷する必要があります。
1 2 3
5 6 7
19 20
私はawkの中でマップを使用する必要がありますが毎回地図をクリアしてください。 各行を読むときにawkのマップをクリアする方法がわかりません。
awk '{ split($0, arr, " "); \
for(i=1;i<=length(arr);i++){dup_map[arr[i]]=1;} \
for(num in dup_map){printf("%s ", num);} printf("\n"); clear dup_map; } \
}' a.txt
誰かがawkでマップをクリアする方法を教えてもらえますか?
はい、ありがとうございます!削除dup_mapは良いです! –
'delete(配列)'がPOSIXの一部となったため、配列を初期化する 'split(" "、array)'は何年も必要とされていませんでした。あなたが使用しているawkのバージョンがそれを必要とするならば、それはおそらく他の多くの機能がないので、より現行のawkバージョン(好ましくはgawk)を入手する必要があります。 –
@エドモートン私は高齢です。それで、私は古いものが好きな理由です... – Scheff