2016-08-08 28 views
0

Ich habe eine Datei mit Daten wie:Spiel Datei mit nulls portably

blub\0test\0further\0 

und würde jetzt testen möchte, ob der genaue Inhalt in dieser Datei von Shell ist. Was ist ein tragbarer Weg (über * nixs) zu testen?

Ignorieren Sie bitte alle esoterischen Gnu-, Bash-, etc. Erweiterungen.

+0

Und es hat ein Shell-Skript sein? – yellowantphil

+0

Leider ja Shell-Skript mit grundlegenden Kern-Utils. – abergmeier

+0

Vielleicht kann Perl es tun: http://stackoverflow.com/questions/36304271/how-to-convert-a-ascii-null-nul-into-single-spacing-in-a-text-file-using-unix – yellowantphil

Antwort

0

Wenn Sie einen Dateiinhalt (oder tatsächlich einen großen Inhalt) vergleichen möchten, können Sie md5 verwenden.

Glücklicherweise hat bash md5sum! Sie können also für jeden Inhalt einen entsprechenden "Wert" erhalten.

md5sum yourfile 

Wenn Sie den Inhalt speichern Sie in einer anderen Datei suchen (sagen wir mal cmpval) Sie verwenden können:

md5sum yourfile > tmp 
cmp tmp cmpval 
rm tmp 
+0

Das ist eine * nutzlose Verwendung von cat *. Verwenden Sie 'md5sum

+0

nicht wahr, wenn Sie tun, was Sie sagten, Sie wäre nicht in der Lage, es mit dem Inhalt zu vergleichen, den er will ... –

+0

Was? Soll '* yourfile *' eine Wildcard sein? 'cat Dateiname | md5sum' macht genau dasselbe wie 'md5sum