Guten Tag! Ist es möglich die zuletzt gemachten Änderungen an einer Datei, die man zB über den vi gemacht hat anzeigen zu lassen? Bspw. ich ahbe eine Textdatei in der "hallo" steht und füge nun das wort "welt" hinzu. Nun möchte ich dass es mir anzeigt, dass welt hinzugefügt wurde. Ist dies möglich und wenn ja wie? Ich kenne nur "diff" aber hiermit kann man ja nur 2 Dateien miteinander vergleichen. Vielen Dank! MES
Antworten (4)
-
1Antwort von
Tux31Tux31
Benutze doch einfach den Mignight Commander . Einfacher kann man doch gar nicht mit Daten umgehen
-
1Antwort von
user1074user1074
Definitiv NEIN. Du meinst sicherlich so was wie die Änderungsverfolgung in Word. Da der vi die Datei aber quasi 1:1 ohne versteckte Hintergrundinformationen abspeichert, kannst du die Datei nicht einfach so mit einer früheren Version vergleichen.
Im vi gibt es keine Änderungsverfolgung!
Trotzdem lässt sich eben mit paar "Tricks" ein diff erzeugen, z.B. wenn du in jede Version noch die Zeit rein speicherst, oder ein svn-System benutzt.
Was gehen würde ist, wenn du die Datei über svn o.ä. abspeicherst, dann hat svn eine Änderungsverfolgung. Das ganze ist aber im Grunde nichts andres als ein diff, nur das svn nicht 2 Dateien sondern eben gerade den "diff" abspeichert.
-
0
Hallo MyEternalSmile,
- Ob das im vi selbst geht wüsste ich jetzt nicht.
- Ich kann mir aber vorstellen das man mit weiteren Konsolen-Programmen über eine Verkettung dieses umsetzen könnte.
Denn diff kann weit mehr als "nur" Wörter zu vergleichen wenn man es richtig einsetzt:
man diffgibt dazu mehr Aufschluss.
In Verbindung mit echo -e "\e[[0-9][0-9]m, hier ein Beispiel:
echo -e "\e[31mDie Schrift ist rot" echo -e "\e[0mDies wieder normal"und dazu noch find, awk und grep bleiben da kaum Wünsche offen.
- man echo
- man find
- man awk
- man grep
Als fertiges Programm fällt mit da allenfalls CVS/Cervisia ein: http://www.cvshome.org/ mit dem man ähnliches realisieren könnte.
lieben Gruß aus Zuhaus
-
-
0Antwort von
guenterhaltguenterhalt
ein Werkzeug, dass genau dieses neue Wort anzeigt, kenne ich auch nicht. Es ist auch nicht ganz so einfach, dafür einen allgemeingültigen Algorithmus zu finden, denn bereits ein Leerzeichen in einer der Dateien würde einen Byte-Vergleich ab dieser Stelle negativ ausfallen lassen.
So macht es das Programm cmp . Es stoppt bei der ersten gefunden Nichtübereinstimmung und nennt die Zeilen- und die Byte-Nummer. Diese Stelle kann man dann natürlich in beiden Dateien ansehen.
Es wird wohl, solle man weitere Differenzen suchen wollen, notwendig sein, die Dateien an dieser Stelle in Übereinstimmung zu bringen und cmp erneut zu starten.
Mit joe als Editor kann man 2 (und mehr) Dateien "gleichzeitig" bearbeiten/anzeigen und so auch manuell vergleichen.
Diese Frage teilen