Open source resources make it possible to use SED, a stream editor built in the open source community. Since 2001 SED has worked on the HP 3000, thanks to Lars Appel, a former HP support engineer who ported Samba to the platform in the 1990s.
SED's main MPE page is on a page of Appel's. SED is an at your own risk download, but support is available through the 3000 community.
Dan Barnes, working on a problem he had to solve in his 3000 environment, asked:
The issue is incoming data from another platform that is being fed into MM 3000. This data occasionally has some unprintable characters, which of course wrecks havoc on the MM application when it is encountered. To address this, the user, using a cygwin (Unix-like) environment on their Windows PC, developed a SED script. When they test the script in the cgywin environment it works just fine. But when done on the target HP 3000 it gets an undesirable result.
Barnes added that "The user thought that because MPE/iX is Posix-compliant, that this should work." He explained his user created the expression
sed -e 's/[\x7F-\xFE]/*/g' < COMSHD > COMSHD1
But Appel noted that hex 7F thru hex FE portion of the expression isn't supported on the MPE/iX version of SED. It's a limitation of MPE/iX, but there's a workaround.
Not sure if the regular expression usage here matches Posix or GNU specs, but my guess is the "\xNN" format, that seems to indicate a char by hex code, doesn't work.
How about something like using the command sed -e 's/[^ -~]/*/g' instead, i.e. map the characters outside the range space through tilde?