Encontrei uma resposta sobre como remover vírgulas entre aspas de um arquivo csv delimitado por vírgula aqui no stackexchange (não posso comentar porque não tenho o representante necessário).
awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile
Como posso redirecionar a saída para um arquivo em vez de imprimi-la no console?
Tentei várias combinações de uso de '>', o que só me deu arquivos vazios ou erros. '>>' sempre me dava um erro.
Responder1
Usar o redirecionamento padrão funcionará na saída padrão:
$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile > test.out
$
Isso ainda imprimirá erros na tela.
No entanto, se você quiser que erros e padrões entrem no arquivo, execute:
$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2>&1 > test.out
$
Ou você pode separar os erros da saída padrão:
awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2> errors.out 1 > test.out