#!/bin/awk -f # Rot13 in Awk # Teknovore 1998 BEGIN { from="NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm" to ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" for (i = 1; i <= length(from); i++) { letter[substr(from, i, 1)] = substr(to, i, 1) } } { for (i = 1; i <= length($0); i++) { char = substr($0, i, 1) if (match(char, "[a-zA-Z]") != 0) { printf("%c", letter[char]) } else { printf("%c", char) } } printf("\n") }