Dateien unterschiedlich aber ohne Unterschiede

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
Kerstin83
Senior Member
Senior Member
Posts: 341
Joined: 2007-11-25, 10:18 UTC
Location: Hannover

Dateien unterschiedlich aber ohne Unterschiede

Post by *Kerstin83 »

Liebes Forum :) :)

ich benutze öfters das Werkzeug "Synchronisieren", um festzustellen, ob und welche Änderungen in einem Verzeichnis stattgefunden haben.

Dazu schalte ich "Datum ignorieren" ein. Zwei Dateien, die dann als unterschiedlich angezeigt werden, müssten ja eigentlich inhaltlich unterschiedlich sein - dachte ich. Aber öfters ist es so, dass ein "Vergleich nach Inhalt" dann keine Unterschiede zeigt (Zahl der Unterschiede 0).
Bei irgendwelchen aufgeblasenen Formaten mit vielen Metainformationen wie doc o.ä. könnte ich mir das schon erklären, es handelt sich aber um ganze einfache Textdateien wie .txt, .css u.s.w.

Woran kann das liegen und wie finde ich heraus, ob zwei Dateien wirklich verschieden sind?

Viele Grüße

Kerstin
Ich hasse Leute, die Sätze nicht zuende
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Das liegt oft an Zeilenumbrüchen. Die eine Datei hat Linux-Zeilenumbrüche (LF), die andere Windows-Zeilenumbrüche (CRLF). Sowas sieht man, wenn man oben auf Binär umschaltet und dann nochmals vergleichen lässt.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Dalai wrote:Das liegt oft an Zeilenumbrüchen.
Das liegt immer an Zeilenumbrüchen.
Da TC's CBC-Tool eigentlich ziemlich übersichtlich ist, es laut Aussage aber um einfache Textdateien handelt, gibt es eigentlich nur diese Möglichkeit.
TC plugins: PCREsearch and RegXtract
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Nicht immer, weil es darauf ankommt, ob das TC-Vergleichstool wiederholte Leerzeichen und Groß-/Kleinschreibung berücksichtigen soll.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Ich gehe eigentlich immer von den Standardeinstellungen aus.
Im Zweifel gibt es da noch die INI-Option Comparetool=,
mit der man z.B. WinMerge einbinden kann um nachzuschauen.
TC plugins: PCREsearch and RegXtract
User avatar
Kerstin83
Senior Member
Senior Member
Posts: 341
Joined: 2007-11-25, 10:18 UTC
Location: Hannover

Post by *Kerstin83 »

ja, stimmt, danke, liegt wirklich daran. :)

Aber woran kann es denn liegen, dass LF in CRLF umgewandelt wird und umgekehrt.

Und gibt es ein einfaches Tool (vieleicht in TC), dass das wandelt (LF in CRLF) ?
Damit die Dateien dann gleich sind. Im Prinzip ist es ja egal ob LF oder CRLF.

Liebe Grüße

Kerstin
Ich hasse Leute, die Sätze nicht zuende
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Kerstin83 wrote:Aber woran kann es denn liegen, dass LF in CRLF umgewandelt wird und umgekehrt.
Das kommt darauf an, woher die Dateien stammen und ggf. wie sie transferiert wurden. Eine Übertragung im ASCII-Modus bei FTP z.B. sorgt automagisch für eine Umwandlung der Zeilenumbrüche.
Und gibt es ein einfaches Tool (vieleicht in TC), dass das wandelt (LF in CRLF) ?
Direkt im (nackigen) TC nicht, aber jeder gute Editor kann das (Notepad++, EditPad, ConTEXT usw.). Aber Vorsicht: sofern die Dateien auf einem Linux-System benutzt werden sollen, die von den dort laufenden Diensten interpretiert werden, sollten sie Linux-Zeilenumbrüche haben.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
Kerstin83
Senior Member
Senior Member
Posts: 341
Joined: 2007-11-25, 10:18 UTC
Location: Hannover

Post by *Kerstin83 »

Eine Übertragung im ASCII-Modus bei FTP z.B. sorgt automagisch für eine Umwandlung der Zeilenumbrüche.
Ja, daran könnte es liegen. Die Dateien werden zum Teil per FTP übertragen. Ob das im ASCII-Modus ist weiß ich allerdings nicht. (Vielleicht wäre ein Zippen vor der FTP-Übertragung auch eine Möglichkeit. Muss ich mal testen.)

Ich hätte gerne ein Tool, das es für einen ganzen Ordner mit Unterornern macht. Jede Datei zu öffnen wäre ziemlich umständlich...
Muss auch nicht "direkt im (nackigen) TC" sein. Vielleicht ein Plugin oder ein anderes Tool.

Oder kann man vielleicht dem "Synchronisierungstool" sagen, dass es auch nicht auf den Unterschied zwischen LF und CRLF achten soll?

Liebe Grüße

Kerstin
Ich hasse Leute, die Sätze nicht zuende
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Kerstin83 wrote:Ich hätte gerne ein Tool, das es für einen ganzen Ordner mit Unterornern macht. Jede Datei zu öffnen wäre ziemlich umständlich...
Es gibt unzählige Tools die das können, nur arbeiten die meisten auf Kommandozeilen-Basis.
Einfach mal nach "Unix2Dos" suchen.
Ein GUI-Programm was Stapelverarbeitung unterstützt finde ich leider nur noch im Web-Archiv.

Vielleicht gibts da auch ähnliche Alternativen.
Aufpassen sollte man mit jedem Programm, denn wendet man das Ganze auf Binärdateien an ist mal eben sehr schnell die Datei hinüber wenn kein Backup vorhanden ist.
Kerstin83 wrote:Vielleicht ein Plugin oder ein anderes Tool.
Als Plugin mit so einer Fähigkeit wäre mir nur mein eigenes RegXtract bekannt, allerdings ersetzt das nicht die Originaldatei, sondern erstellt eine neue.
Wenn du dich etwas verbiegst kriegst du auch etwas Stapelverarbeitung hin.
Wenn du Strg+Dialogbox: Packen wählst, und dann Erzeuge separate Archive, eines pro gewählte Datei anwählst,
wird für jede Eingangsdatei eine neue mit Dateiendung "RegXtract" (oder .txt, je nach Einstellung) im gleichen Verzeichnis wie die Eingangsdatei erstellt.

Einstellungen:
RegEx:

Code: Select all

\R
Ersatz-Schema:

Code: Select all

\x0d\x0a
[x]Suchen und Ersetzen
Ausgabedatei: Packen-Dialog

Auch hier: Aufpassen dass nur Textformate durchgeschleust werden.
TC plugins: PCREsearch and RegXtract
Post Reply