Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.1k views
in Technique[技术] by (71.8m points)

linux - Overwrite input file using awk

I have the following line of code:

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

and it does what I want it to, but instead of overwriting the current file, it prints out of screen.

What do I need to change to overwrite the current input file which is $processNew ?

Thanks.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

If you want to override the source file, you need to use a temporary file file:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share

2.1m questions

2.1m answers

63 comments

56.5k users

...