Posts mit dem Label diff werden angezeigt. Alle Posts anzeigen
Posts mit dem Label diff werden angezeigt. Alle Posts anzeigen

Dienstag, 1. Oktober 2019

Beispiel wie diff funktioniert

Beispiel wie diff -d funktioniert:

root@debianxc:~# cat gcc4.txt
float.h
iso646.h
limits.h
mf-runtime.h
ssp.h
stdio.h
string.h
unistd.h
stdarg.h
stdbool.h
stddef.h
stdfix.h
stdint-gcc.h
stdint.h
syslimits.h
unwind.h
varargs.h
root@debianxc:~# cat gcc6.txt
backtrace-supported.h
backtrace.h
float.h
iso646.h
omp.h
openacc.h
stdalign.h
stdarg.h
stdatomic.h
stdbool.h
stddef.h
stdfix.h
stdint-gcc.h
stdint.h
stdnoreturn.h
unwind.h
varargs.h
root@debianxc:~# diff -d gcc4.txt gcc6.txt #Zeige minimalstes ed Skript
0a1,2
> backtrace-supported.h
> backtrace.h
3,8c5,7
< limits.h
< mf-runtime.h
< ssp.h
< stdio.h
< string.h
< unistd.h
---
> omp.h
> openacc.h
> stdalign.h
9a9
> stdatomic.h
15c15
< syslimits.h
---
> stdnoreturn.h
root@debianxc:~#

Erklärungen:

1) Es werden ed Skripteditor Kommandos aufgelistet, mit denen aus der Datei 1 die Datei 2 wird.

2) Die Zeilen der Datei werden mit 1 zu zählen begonnen.

3) Die Änderungen sind nicht kontextbezogen, d.h. eine Änderung verändert nicht das Bezugsystem für nachfolgende Änderungsmitteilungen.

Wenn z.B. Datei 1 mit 0a1,10 eine Vorspan mit den ersten 10 Zeilen der Datei 2 erhält, dann sind die Zeilenbezüge für die folgenden diff Änderungsmitteilungen immer noch auf die Ausgangslage der Datei 1 bezogen und nicht etwa auf die um 10 Zeilen gewachsene Datei!

4) Es gibt die folgenden Operationen:
m(,n)d - löscht Zeile m (bis n) aus Datei 1

m(,n)cp(,q) - tauscht die Zeile m (bis n) von Datei 1 gegen die Zeile p (bis q) von Datei 2

map(,q) - fügt nach Zeile m von Datei 1 die Zeile p (bis q) an

5) Zeilennummer 0 kommt dann zum Einsatz, wenn man vor der ersten Zeile einen Append machen möchte.