diff options
Diffstat (limited to 'awklib/eg/prog/tee.awk')
-rw-r--r-- | awklib/eg/prog/tee.awk | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/awklib/eg/prog/tee.awk b/awklib/eg/prog/tee.awk new file mode 100644 index 00000000..895e4398 --- /dev/null +++ b/awklib/eg/prog/tee.awk @@ -0,0 +1,38 @@ +# tee.awk --- tee in awk +# Arnold Robbins, arnold@gnu.ai.mit.edu, Public Domain +# May 1993 +# Revised December 1995 + +BEGIN \ +{ + for (i = 1; i < ARGC; i++) + copy[i] = ARGV[i] + + if (ARGV[1] == "-a") { + append = 1 + delete ARGV[1] + delete copy[1] + ARGC-- + } + if (ARGC < 2) { + print "usage: tee [-a] file ..." > "/dev/stderr" + exit 1 + } + ARGV[1] = "-" + ARGC = 2 +} +{ + # moving the if outside the loop makes it run faster + if (append) + for (i in copy) + print >> copy[i] + else + for (i in copy) + print > copy[i] + print +} +END \ +{ + for (i in copy) + close(copy[i]) +} |