@PoP: I could use a cheat-sheet of which number gets replaced by which pipe, but it's crazy enough that I like it
.
EDIT: I *think* busybox ash supports the slice substring operation (${var:}), which might allow you to fake an array (i.e., BLAH="ABCD"; IDX="1"; echo ${BLAH:$IDX:1} => B), and a such fake LUTs for the replacements, which might be a tad faster than calling sed like crazy, since the substring operation should be builtin (... and hopefully faster than sed)
.