使用awk覆盖input文件

我有以下的代码行:

awk -F, '{printf "%09d,%d\n" ,$1,$2}' $newDir/$processNew 

它做我想要的,但不是覆盖当前文件,而是打印出来的屏幕。

我需要改变什么来改写当前input文件$ processNew?

谢谢。

Solutions Collecting From Web of "使用awk覆盖input文件"

如果你想覆盖源文件,你需要使用一个临时文件文件:

 awk -F, '{printf "%09d,%d\n" ,$1,$2}' $newDir/$processNew > tmp && mv tmp $newDir/$processNew 

用GNU awk,你可以做

 gawk -i inplace -options 'script' file ... 

要么

 gawk -i inplace -v INPLACE_SUFFIX=.bak -options 'script' file ... 

ref: https : //www.gnu.org/software/gawk/manual/html_node/Extension-Sample-Inplace.html