#!/usr/bin/env sh # YES_ZSH # YES_BASH # YES_DASH # YES_ASH # does not work with busybox sed (yet?) scramble() { ### @- ### scrambles text in a predictable way using regex. ### ### sacbremls ttex in a pdrceailtbe way unsig reegx. ### ### **TODO:** consider renaming because scramble(1) already exists. [ $# -eq 0 ] || { printf "%s\n" "$0: does not take arguments" >&2; return 1; } local eggs='s/@\(\w\)\(\w\)\(\w\)/@\3\1@\2/g' sed \ -e 's/\b\w/&@/g' \ -e "$eggs" -e "$eggs" -e "$eggs" -e "$eggs" \ -e "$eggs" -e "$eggs" -e "$eggs" -e "$eggs" \ -e 's/@//g' } [ -n "${preload+-}" ] || scramble "$@"