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.   

Keine Kommentare:

Kommentar veröffentlichen