sed で null バイト (␀、NUL、\0) を検出する方法はありますか?

sed で null バイト (␀、NUL、\0) を検出する方法はありますか?

関連別の質問バイナリファイルをあいまいに検出するために、 内の ␀ バイトを検出する方法はありますかsed?

答え1

例:

NUL バイトとそれに続く改行を送信していることを証明します。

$ echo -e \\0 | hexdump -C
00000000  00 0a                                             |..|
00000002

ここで、NUL バイトを!感嘆符に変更します。

$ echo -e \\0 | sed 's/\x00/!/' | hexdump -C
00000000  21 0a                                             |!.|

したがって、トリックは\x00NUL バイトとして使用することです。

答え2

はい、パターンは\x00ヌルバイトと一致します。

例:

$ printf "\0\n\0\n" > file
$ sed -e 's/\x00/test/' -i file
$ cat file
test
test
$  

関連情報