Se as aspas estiverem equilibradas, você desejará remover as vírgulas entre todas as outras citações. Isso pode ser expresso em awk
da seguinte forma:
awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile
Saída:
123,ABC DEV 23,345,534.202,NAME
Explicação
O -F"
faz o awk separar a linha nos sinais de aspas duplas, o que significa que qualquer outro campo será o texto entre aspas. O loop for executa gsub
, abreviação de substituto global, em todos os outros campos, substituindo vírgula ( ","
) por nada ( ""
). O 1
no final invoca o bloco de código padrão: { print $0 }
.