¿Hay alguna manera de detectar bytes nulos (␀, NUL, \0) en sed?

¿Hay alguna manera de detectar bytes nulos (␀, NUL, \0) en sed?

Relacionado conotra pregunta, para detectar de forma confusa archivos binarios, ¿hay alguna manera de detectar ␀ bytes en sed?

Respuesta1

Ejemplo:

Demuestre que estoy enviando un byte NUL, seguido de una nueva línea:

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

Ahora cambio el byte NUL por un !signo de exclamación:

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

Entonces el truco es usarlo \x00como byte NUL.

Respuesta2

Sí, el patrón \x00coincide con el byte nulo.

Ejemplo:

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

información relacionada