BEGIN is a "special pattern" which is only processed before the first record
Если вы перенесите свою попытку на более вероятную область, вы обнаружите, что вам не нужно «зацикливаться», поскольку стандартный процесс «одна запись за раз» будет делать это за вас.
Попробуй это:
{
print "\""++i"\"" "\""$0
}
Я не знаю, является ли это то, что вы хотите точно, но это в основном ваш код.