string replacement turns out not POSIX compliant