Hallo.
Ich suche etwas mit dem ich schauen kann um wie viele Bytes sich einer Datei (im Vergleich zu einer alten Version) verändert hat.
Beispiele:
alte datei -> neue datei:
1. die ersten 5 bytes wurden geändert: Rückgabe 5 Bytes wurden verändert
2. die Datei wurde 5 zusätzliches bytes erweiter: Rückgabe 5 Bytes wurden verändert.
3. die Datei wurde um 3 Bytes gekürtzt: Rückgabe 3 Bytes wurden verändert
4. (etwas komexplexer) Mitten in der Datein sind 5 Bytes dazu gekommen: Rückgabe. 5 Bytes wurden verändern.. Da die Datei aber 5 bytes dabei grösser wird,müsste man eigentlich sogar 10 sagen. Aber die Änderung betrifft hier nur 5.
Gibt es da zufällig schon etwas in der Shell oder Programmdatenbanken, bevor ich selber so einen Byte für Byte Vergleich mit Sync schreibe?
PS: Wenn bei Prozess des Vergleich auch noch SHA1 und MD5 mitberechnet werde, wäre das natürlich noch besser. Aber nur MD5 reicht nicht. Ich möchte bei den Dateien wissen wie viel Bytes wirklich geändert wurden.
Menge an Änderungen ermitteln
Re: Menge an Änderungen ermitteln
Zum Anzeigen der Unterschiede (bei ASCII-Dateien) empfehle ich erst mal "vimdiff".
Re: Menge an Änderungen ermitteln
Code: Alles auswählen
$ cat foo
jkjkjk
kkkkkk
jjjjjj
foo
bar
$ diff -u0 foo bar
--- foo 2012-09-21 13:52:53.000000000 +0200
+++ bar 2012-09-21 13:53:10.000000000 +0200
@@ -2,2 +2,2 @@
-kkkkkk
-jjjjjj
+kkjjkk
+jjkkjj
@@ -5 +5 @@
-bar
+baz
$ cmp -b foo bar
foo bar differ: byte 10, line 2 is 153 k 152 j
$
Ah, Halt:
Code: Alles auswählen
$ cmp -bl foo bar | wc -l
5
Code: Alles auswählen
$ diff -u0 foo bar
--- foo 2012-09-21 13:52:53.000000000 +0200
+++ bar 2012-09-21 14:00:18.000000000 +0200
@@ -2,4 +2,4 @@
-kkkkkk
-jjjjjj
-foo
-bar
+kkjjkk
+jjkkjj
+fo
+baz
$ cmp -bl foo bar
10 153 k 152 j
11 153 k 152 j
17 152 j 153 k
18 152 j 153 k
24 157 o 12 ^J
25 12 ^J 142 b
26 142 b 141 a
27 141 a 172 z
28 162 r 12 ^J
cmp: EOF auf bar.
$ cmp -bl foo bar | wc -l
cmp: EOF auf bar.
9
$
Willkommen im Forum!
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Menge an Änderungen ermitteln
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier