diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2015-06-17 16:55:55 -0400 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2015-06-17 16:55:55 -0400 |
commit | 12e3cbe4220792bbcb58f1d5d3dbbcc6e2f7a1db (patch) | |
tree | d5565c617545f99798285f8eefd4c43b9cbde6b6 /awklib/eg | |
parent | ac0ef52fe407b89c7968b927c7b2b513cc13963a (diff) | |
download | egawk-12e3cbe4220792bbcb58f1d5d3dbbcc6e2f7a1db.tar.gz egawk-12e3cbe4220792bbcb58f1d5d3dbbcc6e2f7a1db.tar.bz2 egawk-12e3cbe4220792bbcb58f1d5d3dbbcc6e2f7a1db.zip |
For the inplace extension, add inplace variable to control whether it's active.
Diffstat (limited to 'awklib/eg')
-rw-r--r-- | awklib/eg/lib/inplace.awk | 18 |
1 files changed, 16 insertions, 2 deletions
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) } |