redirigir la salida del comando awk gsub al archivo

redirigir la salida del comando awk gsub al archivo

Encontré una respuesta sobre cómo eliminar comas entre comillas de un archivo csv delimitado por comas aquí en stackexchange (no puedo comentar allí porque no tengo el representante necesario).

awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile

¿Cómo puedo redirigir la salida a un archivo en lugar de imprimirlo en la consola?

Probé varias combinaciones de uso de '>' que solo me dieron archivos vacíos o errores. '>>' me daba un error cada vez.

Respuesta1

El uso de la redirección estándar funcionará en salida estándar:

$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile > test.out
$

Esto seguirá imprimiendo errores en la pantalla.

Sin embargo, si desea que los errores y la salida estándar entren en el archivo, ejecute:

$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2>&1 > test.out
$

O puede separar los errores de la salida estándar:

awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2> errors.out 1 > test.out

información relacionada