Ich muss die gesamte Verzeichnishierarchie unserer Server sichern, daher muss ich alle Unterverzeichnisse einiger Verzeichnisse auf dem Server auflisten.
Das Problem ist, dass eines dieser Unterverzeichnisse Zehntausende von Unterverzeichnissen enthält (die Datei mit nur den Namen der Unterverzeichnisse könnte einige hundert Megabytes benötigen und der entsprechende Suchbefehl dauert sehr lange).
Wenn ich zum Beispiel ein Verzeichnis A und ein Unterverzeichnis A / a habe, das Zehntausende von Unterverzeichnissen enthält, möchte ich den Befehl find verwenden, um alle Unterverzeichnisse von A exclusive alle Unterverzeichnisse von A / a , aber nicht A / a selbst .
Ich habe viele Varianten von -prune mit den Antworten in diese Frage bis nein versucht nützen.
Gibt es eine Möglichkeit, den Befehl find
unter UNIX zu verwenden?
UPDATE:
Die Antwort von @devnull hat sehr gut funktioniert, aber jetzt habe ich ein anderes Problem, also werde ich meine Frage ein wenig verfeinern:
Ich habe den folgenden Befehl verwendet:
%Vor% Das neue Problem, das auftaucht, ist, dass find aus irgendeinem Grund immer noch den gesamten Verzeichnisbaum von "/var/www/web-release-data/"
und "/var/www/web-development-data/"
durchläuft, daher ist es sehr langsam und ich fürchte, es könnte Stunden dauern.
Gibt es eine Möglichkeit, die Verzeichnisse vollständig auszuschließen und ihre jeweiligen Verzeichnishierarchien nicht zu durchlaufen ?
Eine andere Lösung:
%Vor% Wenn Sie auch a
nicht möchten, verwenden Sie
Um Ihre aktualisierte Frage zu beantworten, können Sie
tun %Vor%