Qual é o sed
encantamento para remover bytes nulos de um arquivo? Estou tentando:
s/\000//g
mas isso está eliminando seqüências de zeros.
s/\x00//g
parece não ter efeito. Estou tentando fazer isso em um sed
script, então não tenho certeza se o echo
truque funcionará.
-i
parâmetro para converter o arquivo no local.tr
tropeçou em alguns outros bytes no meu arquivo esed
não substituiu nada. Acabei fazendo isso nãosed
em Python:Aqui está um liner de uma linha:
Também notei que alguns comandos deixam os bytes nulos ali, mas não estão mais visíveis, pelo menos não em um terminal OSX. Eu costumava
hexdump
depurar isso.fonte
É muito fácil usar o Perl para executar uma regex. Basta substituir
sed
porperl -np -e
:Com a
-n
opção, as expressões regulares são executadas linha por linha, assim como sed.Se você deseja usar zero bytes como separadores de registros, use a
-0
opção do Perl .Você pode procurar as opções de linha de comando do Perl executando
perldoc perlrun
.fonte
Para corresponder a um byte nulo, eu uso esse regex com o SED do Cygwin:
fonte