Você precisa convencer awk
de que os campos foram alterados para forçá-lo a reformatá-los com OFS
. Se você fizer uma substituição no total $0
como no seu caso, então awk
não vê a necessidade de dividi-lo em partes e reformatar novamente.
Você pode fazer algo assim para aceitar que as coisas mudaram:
awk -F'[,/]' '{sub(/\/[0-9]+/, "/" ($2+3) ); $1=$1; print $0}'
O $1=$1
faz o truque:)
Observe que sub()
não altera $2
- varre e altera $0
e atualiza-o com o valor de $2+3
. Mas não atualiza $2
, atualiza $0
, portanto, não aciona a reformatação.