So v[i,$i] is a 2d array
so looking at a b c d e, v[i,$i] for the first field is v[1,a], v[1,a]++ would be 0 the first time. Later down with a b e a h,
v[i,$i] for first element becomes, v[1,a], v[1,a] gets incremented to 1, since this is the second time it has seen a in column 1.
if(v[1,a]++) gets evaluated to if(1), since v[1,a] is now 1 due to increment above.
Since '1' equates to true, the following gets evaluated :
b[$i]=$i;$i="", which makes b[a] = a and $1 field is set to " ". So in summary, it stores the duplicate values it finds in array b
This is the best I could do with the explanation. Hopefully it all makes sense
. Maybe someone else can attempt and write a simpler explanation and correct anything I may have misstated.