Hi, I use sed to modify the field of size in file header for some binaries, and I found it will failed when the file size included *\x5c* (backslash) after converted into hexadecimal. There is the Proof-of-Concept: # echo z | sed 's/z/\x5c/' # \x5c == '\' \ # success # echo z | sed 's/z/\x5c\x61/' a # backslash is gone According the manual, *\xxx* should produce an ascii character. sed should not treat *\x5c* as an escape symbol. I also try the replacement with '&' and it's work fine: # echo z | sed 's/z/\x26\x61/' # \x26 == '&' &a // replace to & # echo z | sed 's/z/&\x61/' za // execute & feature I try to fix the problem and I hope it will be useful. Sorry for my bad English. https://github.com/0xddaa/sed/commit/723fa224c771ecd16913aea8117aa917877bbd38 Sincerely, ddaa