From 12e3cbe4220792bbcb58f1d5d3dbbcc6e2f7a1db Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Wed, 17 Jun 2015 16:55:55 -0400 Subject: For the inplace extension, add inplace variable to control whether it's active. --- awklib/eg/lib/inplace.awk | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'awklib') diff --git a/awklib/eg/lib/inplace.awk b/awklib/eg/lib/inplace.awk index d1574654..15a83f58 100644 --- a/awklib/eg/lib/inplace.awk +++ b/awklib/eg/lib/inplace.awk @@ -5,15 +5,29 @@ # Please set INPLACE_SUFFIX to make a backup copy. For example, you may # want to set INPLACE_SUFFIX to .bak on the command line or in a BEGIN rule. +# By default, each filename on the command line will be edited inplace. +# But you can selectively disable this by adding an inplace=0 argument +# prior to files that you do not want to process this way. You can then +# reenable it later on the commandline by putting inplace=1 before files +# that you wish to be subject to inplace editing. + # N.B. We call inplace_end() in the BEGINFILE and END rules so that any # actions in an ENDFILE rule will be redirected as expected. +BEGIN { + inplace = 1 # enabled by default +} + BEGINFILE { if (_inplace_filename != "") inplace_end(_inplace_filename, INPLACE_SUFFIX) - inplace_begin(_inplace_filename = FILENAME, INPLACE_SUFFIX) + if (inplace) + inplace_begin(_inplace_filename = FILENAME, INPLACE_SUFFIX) + else + _inplace_filename = "" } END { - inplace_end(FILENAME, INPLACE_SUFFIX) + if (_inplace_filename != "") + inplace_end(_inplace_filename, INPLACE_SUFFIX) } -- cgit v1.2.3