linux - print - manejo de cadenas en shell script
Sobrescribir el archivo de entrada usando awk (2)
Tengo la siguiente línea de código:
awk -F, ''{printf "%09d,%d/n" ,$1,$2}'' $newDir/$processNew
y hace lo que yo quiero, pero en lugar de sobreescribir el archivo actual, se imprime fuera de la pantalla.
¿Qué debo cambiar para sobrescribir el archivo de entrada actual que es $ processNew?
Gracias.
Con GNU awk, puedes hacer
gawk -i inplace -options ''script'' file ...
o
gawk -i inplace -v INPLACE_SUFFIX=.bak -options ''script'' file ...
ref: https://www.gnu.org/software/gawk/manual/html_node/Extension-Sample-Inplace.html
Si desea sobrescribir el archivo fuente, necesita usar un archivo de archivo temporal:
awk -F, ''{printf "%09d,%d/n" ,$1,$2}'' $newDir/$processNew > tmp && mv tmp $newDir/$processNew