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
Sincerely,
ddaa