Como substituir a enésima coluna / campo em uma string separada por vírgula usando sed / aw

assume Eu tenho uma string

"1,2,3,4"

Agora quero substituir, p. o terceiro campo da string por algum valor diferente.

"1,2,NEW,4"

Consegui fazer isso com o seguinte comando:

echo "1,2,3,4" | awk -F, -v OFS=, '{$3="NEW"; print }'

Agora, o índice da coluna a ser substituída deve ser passado como uma variável. Então, neste caso,

index=3

Como posso passar isso para o awk? Porque isso não vai funcionar:

echo "1,2,3,4" | awk -F, -v OFS=, '{$index="NEW"; print }'
echo "1,2,3,4" | awk -F, -v OFS=, '{$($index)="NEW"; print }'
echo "1,2,3,4" | awk -F, -v OFS=, '{\$index="NEW"; print }'

Obrigado pela ajuda

questionAnswers(10)

yourAnswerToTheQuestion