summaryrefslogtreecommitdiff
path: root/awklib/eg/prog/awksed.awk
diff options
context:
space:
mode:
Diffstat (limited to 'awklib/eg/prog/awksed.awk')
-rw-r--r--awklib/eg/prog/awksed.awk31
1 files changed, 31 insertions, 0 deletions
diff --git a/awklib/eg/prog/awksed.awk b/awklib/eg/prog/awksed.awk
new file mode 100644
index 00000000..cd96ddeb
--- /dev/null
+++ b/awklib/eg/prog/awksed.awk
@@ -0,0 +1,31 @@
+# awksed.awk --- do s/foo/bar/g using just print
+# Thanks to Michael Brennan for the idea
+
+# Arnold Robbins, arnold@gnu.ai.mit.edu, Public Domain
+# August 1995
+
+function usage()
+{
+ print "usage: awksed pat repl [files...]" > "/dev/stderr"
+ exit 1
+}
+
+BEGIN {
+ # validate arguments
+ if (ARGC < 3)
+ usage()
+
+ RS = ARGV[1]
+ ORS = ARGV[2]
+
+ # don't use arguments as files
+ ARGV[1] = ARGV[2] = ""
+}
+
+# look ma, no hands!
+{
+ if (RT == "")
+ printf "%s", $0
+ else
+ print
+}