Tar: Schließt bestimmte Erweiterungen in Unterordnern aus

420
Shibli

Ich habe einen Ordner, der Unterordner enthält, die wiederum auch Unterordner haben. Ich habe es versucht:

tar --exclude='*.msh' --exclude='*.geo' -czvf cont.gz run-1/* 

um alle Dateien und Unterordner in run-1 zu komprimieren, jedoch die Dateien mit den Erweiterungen msh und geo. Aber tar fügt diese Dateien immer noch hinzu. Die Dateien, die ausgeschlossen werden sollten, befinden sich nicht in run-1, sondern in einem ihrer Unterordner, und ich möchte die Speicherorte nicht explizit angeben. Wo ist das Problem?

Bearbeiten: Nachfolgend finden Sie einen der Unterordner unter run-1. Andere Unterordner haben eine ähnliche Struktur. Ich bin auch in Ordnung mit dem Ausschluss von msh Ordner in allen Unterordnern.

run-1 |-np-8 |-nmesh-3 |-ncell-1 |-bunch of files |-msh |-bg.msh |-bg.geo 
2
Könnten Sie Ihre Frage mit einem Beispielbaum aktualisieren? Umreißen Sie, welche Dateien Sie enthalten und welche ausgeschlossen werden sollen. Attie vor 5 Jahren 0

1 Antwort auf die Frage

2
harrymc

Versuchen Sie eine Ausschlussdatei zu verwenden, die die Zeilen enthält:

*.msh *.geo 

Der Befehl kann dann wie folgt aussehen:

tar -czvf cont.gz -X exclude-files.txt run-1/* 

Sie können den findBefehl auch verwenden, um eine Liste von Dateien zu erstellen, die ausgeschlossen werden sollen. Dies funktioniert jedoch nur für eine kleine Anzahl von Dateien.