1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-11-14 08:19:03 -08:00
rc/sh/scramble

21 lines
638 B
Bash
Executable file

#!/usr/bin/env sh
# compat: +ash +bash +dash +zsh
# 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 "$@"