aboutsummaryrefslogtreecommitdiffstats
path: root/awklib/eg/lib
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-06-19 12:42:37 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-06-19 12:42:37 +0300
commitec58524cb5a671c18c4af1b893e599eb04c7760a (patch)
tree1d1c3d298ec82caa03c0cf5caeb0dd14b08ce247 /awklib/eg/lib
parent76e1f5bfee032dbcb5c19b3e4e92f96aa05731c3 (diff)
parentf7cd8a03c09a00c4cb520f881bbe838cf76e718f (diff)
downloadegawk-ec58524cb5a671c18c4af1b893e599eb04c7760a.tar.gz
egawk-ec58524cb5a671c18c4af1b893e599eb04c7760a.tar.bz2
egawk-ec58524cb5a671c18c4af1b893e599eb04c7760a.zip
Merge branch 'master' into feature/cmake
Diffstat (limited to 'awklib/eg/lib')
-rw-r--r--awklib/eg/lib/inplace.awk18
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)
}