1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-05-18 17:53:23 -07:00
rc/sh/scramble
Connor Olding d5f3f14d72 merge compatibility lines
RIP meaningful last-modified dates
2024-03-26 15:08:14 -07:00

22 lines
642 B
Bash
Executable File

#!/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 "$@"