Answers:
例:
证明我正在发送一个NUL字节,后跟换行符:
$ echo -e \\0 | hexdump -C
00000000 00 0a |..|
00000002
现在,我将NUL字节更改为!
感叹号:
$ echo -e \\0 | sed 's/\x00/!/' | hexdump -C
00000000 21 0a |!.|
因此,诀窍是使用\x00
NUL字节。
echo -ne \\0
可以避免换行。
hexdump -C
为uniname -bcepu
以查看转储的字符。
是的,该模式\x00
与空字节匹配。
例:
$ printf "\0\n\0\n" > file
$ sed -e 's/\x00/test/' -i file
$ cat file
test
test
$
\0
为零字节。此替换不是必需的(“应支持”),实际上bash不直接支持它。为此,您需要使用echo -e
。我在回答echo
中用替换,printf
这似乎更兼容...