Как заменить n-й столбец / поле в строке через запятую, используя sed / awk?

предположим, у меня есть строка

"1,2,3,4"

Теперь я хочу заменить, например, 3-е поле строки с некоторым другим значением.

"1,2,NEW,4"

Мне удалось сделать это с помощью следующей команды:

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

Теперь индекс для заменяемого столбца должен быть передан как переменная. Так что в этом случае

index=3

Как я могу передать это в awk? Потому что это не сработает:

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 }'

Спасибо за вашу помощь!

Ответы на вопрос(5)

Ваш ответ на вопрос