If you don't know the charset of the file, you should set the LANG or LC_CTYPE variables to "C":
$ echo $'AAAA\x88BBBB' | sed -e 's/[^0123456789]//g' | od -x 0000000 0a88 0000002 $ echo $'AAAA\x88BBBB' | LANG=C sed -e 's/[^0123456789]//g' | od -x 0000000 000a 0000001 This is different from Perl indeed: $ echo $'AAAA\x88BBBB' | psed 's/[^0123456789]//g' | od -x 0000000 000a 0000001 -- sed stops replacing when reaching a special character https://bugs.launchpad.net/bugs/447866 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs