Was ist die sed
Beschwörung, null Bytes aus einer Datei zu entfernen? Ich versuche es:
s/\000//g
aber das heißt, Nullenstrings herauszureißen.
s/\x00//g
scheint keine Wirkung zu haben. Ich versuche dies in einem sed
Skript zu tun , daher bin ich mir nicht sicher, ob der echo
Trick funktioniert.
-i
Parameter zum Konvertieren der Datei.tr
stolperte über einige andere Bytes in meiner Datei undsed
ersetzte nichts. Ich habe es nicht in,sed
sondern in Python gemacht:Hier ist ein pipeable Einzeiler :
Ich habe auch bemerkt, dass einige Befehle tatsächlich die Null-Bytes dort belassen, aber sie sind nicht mehr sichtbar, zumindest nicht in einem OSX-Terminal. Früher habe ich das
hexdump
debuggt.quelle
Mit Perl können Sie ganz einfach einen regulären Ausdruck erstellen. Einfach ersetzen
sed
durchperl -np -e
:Mit dieser
-n
Option werden reguläre Ausdrücke wie sed Zeile für Zeile ausgeführt.Wenn Sie Null-Bytes als Datensatztrennzeichen verwenden möchten, verwenden Sie die
-0
Option von Perl .Sie können die Befehlszeilenoptionen von Perl durch Ausführen nachschlagen
perldoc perlrun
.quelle
Um ein Null-Byte abzugleichen, verwende ich diesen regulären Ausdruck mit Cygwins SED:
quelle