Quelle est l' sed
incantation pour supprimer les octets nuls d'un fichier? J'essaie:
s/\000//g
mais cela enlève des chaînes de zéros.
s/\x00//g
semble n'avoir aucun effet. J'essaie de le faire dans un sed
script, donc je ne suis pas sûr que l' echo
astuce fonctionnera.
-i
paramètre pour convertir le fichier sur place.tr
déclenché sur certains autres octets dans mon fichier etsed
n'a rien remplacé. J'ai fini par le faire non passed
en Python mais:Voici une doublure canalisable :
J'ai également remarqué que certaines commandes laissent en fait les octets nuls, mais elles ne sont plus visibles, du moins pas dans un terminal OSX. J'avais l'habitude
hexdump
de déboguer cela.la source
Il est assez facile d'utiliser Perl pour effectuer une expression régulière. Remplacez simplement
sed
parperl -np -e
:Avec l'
-n
option, les expressions régulières sont exécutées ligne par ligne, tout comme sed.Si vous souhaitez utiliser zéro octet comme séparateurs d'enregistrements, utilisez l'
-0
option Perl .Vous pouvez rechercher les options de ligne de commande de Perl en exécutant
perldoc perlrun
.la source
Pour faire correspondre un octet nul, j'utilise cette expression régulière avec le SED de Cygwin:
la source