oiooiooioiioooiioiioiooo
Goto Top

Mit DIFF Verzeichnis oder Unterverzeichznis ausschliessen

Guten Tag,

ich möchte mit bash unter Linux zwei Verzeichnisse vergleichen und gegebenenfalls Unterschiede mir ausgeben.

Bis jetzt habe ich nur eine Möglichkeit gefunden:

$ diff -qr -X /home/benutzer/verzeichnisignor.txt ./backup_site/ ./site/ | grep -E "sind verschieden.|Nur in "  

Funktioniert auch. Nur wenn man in der Datei die Verzeichnisse, welche ausgeschlossen werden sollen, zum Beispiel so angbit

var
etc

Wenn ich aber einen Unterverzeichnis von einem Verzeichnis ausschließen möchte

var/cache

so wird es ignoriert.

@OIOOIOOIOIIOOOIIOIIOIOOO

Content-ID: 553691

Url: https://administrator.de/contentid/553691

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

143127
143127 02.03.2020 aktualisiert um 16:11:27 Uhr
Goto Top
Wenn ich aber einen Unterverzeichnis von einem Verzeichnis ausschließen möchte
Einfach noch ein grep -v "var/cache" hinten an die Pipe pappen.

-X vergleicht nur den Basename von Dateien oder Verzeichnissen als Pattern, nicht den Pfad an sich, du kannst dort also keine ganzen Pfade angeben, nur Pattern für Basenames.
OIOOIOOIOIIOOOIIOIIOIOOO
OIOOIOOIOIIOOOIIOIIOIOOO 03.03.2020 um 08:53:26 Uhr
Goto Top
Guten Tag,

vielen Dank für deine Antwort. Auf Grep bin ich nicht gekommen, da der dann die Ordner trotzdem durchsucht.

Somit wird der Script die Aufgabe nie rechtzeitig beendet haben, bevor der Zyklons los geht.

Kann man mein Vorhaben eventuell mit einem anderem Befehl oder kleinen Script erzielen?

find / ls /grep ???

Viele Grüße

@OIOOIOOIOIIOOOIIOIIOIOOO
143127
Lösung 143127 03.03.2020 aktualisiert um 18:10:34 Uhr
Goto Top
Dann mach halt ein rsync --dry-run mit --exclude in beide Richtungen.
Somit wird der Script die Aufgabe nie rechtzeitig beendet haben, bevor der Zyklons los geht.
Satz nochmal selbst durchlesen.

As always,
59 57 78 33 59 58 6C 7A 49 48 4E 30 59 58 6B 67 59 33 56 79 61 57 39 31 63 77 3D 3D
OIOOIOOIOIIOOOIIOIIOIOOO
OIOOIOOIOIIOOOIIOIIOIOOO 03.03.2020 um 17:44:46 Uhr
Goto Top
Oh ja .. diese Option habe ich überlesen ... Vielen Lieben Dank!