diff -u (Aufgabe 3.4)

Eher was fuer Windows-User

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

diff -u (Aufgabe 3.4)
Hallo,

falls es hier einige Leute gibt, bei denen das nicht funktioniert: diff -u funktioniert in der Form nur unter Linux.

Output bei nem Unterschied:

diff -u 1.txt 2.txt
--- 1.txt       2014-10-29 19:13:19.000000000 +0100
+++ 2.txt       2014-10-29 19:13:24.000000000 +0100
@@ -1 +1 @@
-Hallo.
+Hallo!

Output bei keinem Unterschied:

diff -u 1.txt 2.txt

Die Powershell unter Windows kann zwar auch ‘diff’ - aber wie der Befehl zu verwenden ist, habe ich auf die Schnelle nicht kapiert. Daher hier für ein paar Leute ein Hinweis:

Wenn ihr eure mydraw.txt mit der draw.txt vergleichen wollt, verwendet entweder das Plugin für notepad++ oder diverse Webseiten (z.B diffchecker.com).

Falls ihr eure Datei mit dem Befehl ‘java DrawFunctions > mydraw.txt’ speichert, kommt der Spaß hier raus:

Ist ne Geschichte wegen der Kodierung, UCS-2 Little Endian lässt grüßen.

Hoffe, dass ich damit jemanden helfen konnte. Cheers.


Wenn man mit der cmd bei Windows zwei txt Dateien vergleichen will geht das auch mit:

Fc datei1.txt datei2.txt → sagt dann ob die Dateien gleich sind.

1 Like

Das Output bei Windows ist wohl immer UCS-2 Little Endian (bin wohl vorher beim Checken nur in der Datei verrutscht…)? Dann funktionieren beide Funktion eh nicht. Weder diff -u noch fc.

Hier als proof:

File / Encoding / Match?

mydraw2.txt / UCS-2 Little Endian / nein.

E:\Bibliotheken\Dokumente\Studium\WiSe 14-15\TeFak\AuD\Uebungen\3>fc mydraw2.txt
 draw.txt
Vergleichen der Dateien mydraw2.txt und DRAW.TXT
Neusynchronisation fehlgeschlagen. Dateien sind zu verschieden.
***** mydraw2.txt

mydraw.txt / UTF-8 ohne BOM / ja.


E:\Bibliotheken\Dokumente\Studium\WiSe 14-15\TeFak\AuD\Uebungen\3>fc mydraw.txt
draw.txt
Vergleichen der Dateien mydraw.txt und DRAW.TXT
FC: Keine Unterschiede gefunden

vimdiff kann UTF-16, das hat den zusaetzlichen Vorteil, dass man dann auch gleich einen sinnvollen Editor installiert hat :wink:

3 Likes

Ich bleibe lieber bei nano bzw. notepad++. vim ist anfangs so userfeindlich :confused:


Vim ist nicht benutzerfeindlich. Nach einmal [m]vimtutor[/m] kann man die Grundlagen. Ab dann ist es nur eine Frage der Routine (und hin und wieder ein paar neue Movements/Actions zu lernen) und Disziplin (nicht so viel die Maus verwenden hilft sehr, die Movements ordentlich zu lernen - man glaubt gar nicht wie schnell man ohne Maus sein kann).

3 Likes

Hallo,

Ich habe meine mydraw.txt und DRAW.TXT files mit Hilfe von https://www.diffchecker.com/ vergliechen, und es war ok, ich habe eine Mitteilung " The two files are identical" becommen.

Aber nachdem ich mein java file in EST uploaded hatte, war file Status “Error in given test case”. Jetzt weiss ich nicht, was muss ich machen und welche Fehler muss ich korrigieren, weil ich keine habe.

Könnte jemand helfen?


Führe es doch mal im cip aus und teste da mit dem lokal installierten diff


Entschuldigung, aber was ist „cip“ :slight_smile: ? und wie kann ich dort files vergleichen?
Normalerweise verwende ich Eclipse oder Notepad++.


CIP = Computer-Investitions-Programm, ein Förderprogramm der DFG aus den 80ern. :wink:
Gemeint ist aber meistens, wie auch hier, einer der Computerräume der Informatik.
Da die aber während der Bauarbeiten am Wochenende geschlossen sind, kannst du schlecht jetzt nochmal in die Uni fahren. Wie du dich von außerhalb einloggen kannst, findst du hier in den FAQ.

Vergleichen kannst du dort, wie auf dem Aufgabenblatt beschrieben mit [m]diff -u file1 file2[/m]. Keine Ausgabe bedeutet im Fall von diff, dass die Dateien identisch sind. (sprich, es werden nur die Unterschiede der Dateien ausgegeben. Keine Unterschiede → keine Ausgabe)

1 Like

Dann verwende doch einfach das tolle Compare-Plugin für notepad++ (ist oben verlinkt) :slight_smile:

Oder du lädst die TXT irgendwo hoch, dann vergleiche ich dir das eben.


Ich habe versucht vielmals, sich via PuTTY mit cip zu verbinden, aber immer wieder dasselbe timeout error bekommen.
Wenn ich mydraw.txt mit Notepad ++ eröffne, kann ich viele NULL Zeichen sehen:

obwohl mit gewöhnlichem Notepad alles ok ist:

deshalb sieht mein Vergleich in Notepad++ nicht so gut aus:

verstehe ich nicht warum.

Ich kann mein *.java file und/oder mydraw.txt in Dropbox hochladen, wenn es Notwendig ist.


Ich habe versucht vielmals, sich via PuTTY mit cip zu verbinden, aber immer wieder dasselbe timeout error bekommen.
Wenn ich mydraw.txt mit Notepad ++ eröffne, kann ich viele NULL Zeichen sehen:

obwohl mit gewöhnlichem Notepad alles ok ist:

deshalb sieht mein Vergleich in Notepad++ nicht so gut aus:

verstehe ich nicht warum.

Ich kann mein *.java file und/oder mydraw.txt in Dropbox hochladen, wenn es Notwendig ist.


Uhm mit PuTTY kann ich dir leider nicht helfen, aber wenn du das File irgendwo hochlaedst, kann ichs kurz ueberpruefen (also den output, nicht die .java, die solltest du nie hochladen)


Das sieht so aus als ob du vergessen hast, das Array mit Leerzeichen zu initialisieren. In der Methode DrawFunctions.newScreen sollte in jedes Element des Arrays ein Leerzeichen geschrieben werden.


Vielen Dank,

ich habe die Leerzeichen hinzufügt, mein file hochgeladen, und es gibt keine error Mitteilungen :slight_smile: