Archiv verlassen und diese Seite im Standarddesign anzeigen : diff command kombinieren?
ich nutze den diff command um in zwei ordnern alle unterschiede herauszufinden:
# diff -c path/ordner1 path/ordner2
problem ist jetzt aber, wenn ich eine textdatei in ordner 2 habe, die ich in ordner1 nicht habe, so wird mir die ganze textdatei ausgegeben, da jede linie nicht vorhanden ist. wie kann ich dass beheben?
ich möchte also eine meldung bei allen neuen dateien, und eine genaue 'linien-überwachung' bei existierenden dateien.
thx
mfg 223
...oder ist diff der falsche command dazu?
probiers mal mit
md5sum path/ordner1/* > datei1.txt
md5sum path/ordner2/* > datei2.txt
und dann ein diff datei1.txt datei2.txt
so kriegst du sicher alle änderungen in den Dateien mit...
musst das ganze nur noch in einen script einpacken und geht schon...
mfg Clerian
ps. bei den existierenden dateien musst du dann noch die einzelnen Dateien mit einer schleife für diff einlesen ... für die Linienüberwachung
danke!
gibt es eine möglichkeit nur die veränderten (hinzugefügten, gelöschten, veränderten) zeilen einer datei anzuzeigen? also bei welchen ein +, - oder ! davor steht!??
ich vergleiche lange java source files, und das ist mühsam wenn mehrere lange files ganz ausgegeben werden
irgendwie krieg ichs net hin.
-u ist auch nicht die lösung die ich möchte.
hier mal ein Bsp. was ich mir als endergebnis vorstelle:
# < path/datei1.java 2005-02-24 16:30:00.000000000 +0100
# > path/datei2.java 2005-02-24 16:30:00.000000000 +0100
#
# 5 (zeilennr.)
# > + import java.lang.*
#
# 14
# > + String bla = new String ("blabla");
#
# 16
# < ! String test = new String ("test");
# > ! String test = new String ("testskjdflajs");
also wirklich nur unterschiede.
ist das überhaupt möglich?
thx
cheers 223
meinst Du etwas wie:
diff --suppress-common-lines liste1 liste2 ?
Das liefert "wirklich nur Unterschiede" :)
Gruß,
Wolfgang
ähm: gnu-diff vorausgesetzt...
EDIT: alternativ: diff -u .... | sed -ne '/^[+-]/p'
ich fürchte wenn dir diff -u nicht reicht, wirst du wohl debst hand anlegen müssen...
also zeile für zeile einlesen und vergleichen..
Clerian
ps. hmm.. --suppress-common-lines kannte ich gar nicht ...
noobfrage:
kann man --suppress-common-lines mit -U 1 kombinieren?
> kann man --suppress-common-lines mit -U 1 kombinieren?
das bringt zwar keine Fehlermeldung (wie die Kombination anderer unverträglicher
Optionen, i.e. -C/-U), aber auch nicht das IMO erwartete Ergebnis.
Falls die '<>' am Zeilenanfang stören, um das Ergebnis weiter zu verarbeiten,
würde ich sie wie erwähnt mit sed wegfiltern.
Gruß,
wolfgang
ich habe jetzt die lösung!
diff -wC 1 datei1 datei2
wie kann ich das ganze noch in eine datei schreiben?
mfg 223
ps mit ">" funktionierts nicht, da ich mehrere diff befehle habe und die datei dan immer wieder überschrieben wird.
versuch mal ">>" damit sollte das ganze immer angehängt werden wenn die datei schon existiert.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.