diff options
Diffstat (limited to 'contrib/awk/awklib/eg/prog/translate.awk')
-rw-r--r-- | contrib/awk/awklib/eg/prog/translate.awk | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/contrib/awk/awklib/eg/prog/translate.awk b/contrib/awk/awklib/eg/prog/translate.awk deleted file mode 100644 index 803700c..0000000 --- a/contrib/awk/awklib/eg/prog/translate.awk +++ /dev/null @@ -1,47 +0,0 @@ -# translate.awk --- do tr-like stuff -# -# Arnold Robbins, arnold@gnu.org, Public Domain -# August 1989 - -# Bugs: does not handle things like: tr A-Z a-z, it has -# to be spelled out. However, if `to' is shorter than `from', -# the last character in `to' is used for the rest of `from'. - -function stranslate(from, to, target, lf, lt, t_ar, i, c) -{ - lf = length(from) - lt = length(to) - for (i = 1; i <= lt; i++) - t_ar[substr(from, i, 1)] = substr(to, i, 1) - if (lt < lf) - for (; i <= lf; i++) - t_ar[substr(from, i, 1)] = substr(to, lt, 1) - for (i = 1; i <= lf; i++) { - c = substr(from, i, 1) - if (index(target, c) > 0) - gsub(c, t_ar[c], target) - } - return target -} - -function translate(from, to) -{ - return $0 = stranslate(from, to, $0) -} - -# main program -BEGIN { - if (ARGC < 3) { - print "usage: translate from to" > "/dev/stderr" - exit - } - FROM = ARGV[1] - TO = ARGV[2] - ARGC = 2 - ARGV[1] = "-" -} - -{ - translate(FROM, TO) - print -} |