I’ve got a script that calls grep to process a text file. Currently I am doing something like this.
$ grep 'SomeRegEx' myfile.txt > myfile.txt.temp
$ mv myfile.txt.temp myfile.txt
I’m wondering if there is any way to do in-place processing, as in store the results to the same original file without having to create a temporary file and then replace the original with the temp file when processing is done.
Of course I welcome comments as to why this should or should not be done, but I’m mainly interested in whether it can be done. In this example I’m using grep, but I’m interested about Unix tools in general. Thanks!
Perl has the
-iswitch, so doessedandRubyBut note that all it ever does is creating “temp” files at the back end which you think you don’t see, that’s all.
Other ways, besides
grepawk
bash