Relativamente a un'altra domanda , al fine di rilevare in modo confuso i file binari, c'è un modo per rilevare ␀ byte in sed
?
Relativamente a un'altra domanda , al fine di rilevare in modo confuso i file binari, c'è un modo per rilevare ␀ byte in sed
?
Risposte:
Esempio:
Dimostra che sto inviando un byte NUL, seguito da una nuova riga:
$ echo -e \\0 | hexdump -C
00000000 00 0a |..|
00000002
Ora cambio il byte NUL in un !
punto esclamativo:
$ echo -e \\0 | sed 's/\x00/!/' | hexdump -C
00000000 21 0a |!.|
Quindi il trucco sta usando \x00
come byte NUL.
echo -ne \\0
evitare una nuova riga.
hexdump -C
con uniname -bcepu
per vedere quale personaggio scarica.
Sì, il modello \x00
corrisponde al byte null.
Esempio:
$ printf "\0\n\0\n" > file
$ sed -e 's/\x00/test/' -i file
$ cat file
test
test
$
\0
con il byte zero. Questa sostituzione non è necessaria ("deve essere supportata") e in realtà bash non la supporta direttamente. Per questo, è necessario utilizzare echo -e
. Sostituisco echo
con con printf
nella mia risposta che sembra essere più compatibile ...