¿Cómo reemplazar la enésima columna / campo en una cadena separada por comas usando sed / awk?
supongo que tengo una cadena
"1,2,3,4"
Ahora quiero reemplazar, p. el tercer campo de la cadena por algún valor diferente.
"1,2,NEW,4"
Logré hacer esto con el siguiente comando:
echo "1,2,3,4" | awk -F, -v OFS=, '{$3="NEW"; print }'
Ahora, el índice de la columna que se va a reemplazar debe pasarse como una variable. Entonces en este caso
index=3
¿Cómo puedo pasar esto a awk? Porque esto no 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 }'
¡Gracias por tu ayuda