printf '%s\n' "$out"
}
+RXLITERAL(){
+ # sed -E 's;[].*+?^${}()|\[];\\&;g'
+ local in out=''
+ [ $# -gt 0 ] && in="$*" || in="$(cat)"
+ while [ "$in" ]; do case $in in
+ [.+^\$\{\}\(\)\[\]\*\?\|\\]*)
+ out="${out}\\${in%"${in#?}"}"; in="${in#?}";
+ ;;
+ *)out="${out}${in%%[.+^\$\{\}\(\)\[\]\*\?\|\\]*}"
+ in="${in#"${in%%[.+^\$\{\}\(\)\[\]\*\?\|\\]*}"}"
+ ;;
+ esac; done
+ printf '%s\n' "$out"
+}
+
DBM() {
local file="$1" cmd="$2"
local k v key value