Discussion:
Bestimmte Unterverzeichnisse bei find ausschliessen
(zu alt für eine Antwort)
Klaus P. Pieper
2004-02-19 07:30:19 UTC
Permalink
Hallo,

ich nutze find, um für ein Backup eine Liste der zu sichernden Daten auf
einem Rechner zusammen zu stellen. Einige Verzeichnisse (z.B. im
Samba-Bereich) enthalten aber lediglich temporäre Daten, die nicht gesichert
werden müssen und viel Platz auf dem Backup-Medium belegen.

Wie kann man bestimmte Unterverzeichnisse bei der Suche ausschliessen?

Etwas in der Art find / --dontsearch /home/samba/tmp ...

Bei den find-Optionen habe ich nichts gefunden, jetzt fällt mir nur noch

find / ... | egrep -v "(^/home/samba/tmp)|(^/home/...)" ...

ein. Gibt es noch eine bessere Möglichkeit?

Gruß

Klaus
--
Die email Adresse (reply-to) im header ist ungueltig.
Fuer mail "pub . kp2 . pieper @ ibeq . com" benutzen.
(Leerzeichen loeschen).

Reply-to invalid.
Use "pub . kp2 . pieper @ ibeq . com" (remove spaces).
Christian Schneider
2004-02-19 07:39:53 UTC
Permalink
Post by Klaus P. Pieper
ich nutze find, um für ein Backup eine Liste der zu sichernden Daten auf
einem Rechner zusammen zu stellen. Einige Verzeichnisse (z.B. im
Samba-Bereich) enthalten aber lediglich temporäre Daten, die nicht gesichert
werden müssen und viel Platz auf dem Backup-Medium belegen.
Wie kann man bestimmte Unterverzeichnisse bei der Suche ausschliessen?
Lies die Manpage von find(1).
--
begin LOVE-LETTER-FOR-YOU.txt.vbs
I am a signature virus. Distribute me until the bitter
end
/* <http://piology.org/ILOVEYOU-Signature-FAQ.html> */
Alexander Bartolich
2004-02-19 07:49:08 UTC
Permalink
Post by Klaus P. Pieper
Wie kann man bestimmte Unterverzeichnisse bei der Suche
ausschliessen?
Etwas in der Art find / --dontsearch /home/samba/tmp ...
find / -path /home/samba/tmp -prune -o -print
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Das Unterstriche ist ingesamt eine Ausschlußklausel.
Die Option -prune bezieht sich auf das Argument davor.

Mann kann auch mehrere dieser Konstrukte haben.
Wichtig ist nur, dass die letzte Aktion -print lautet.
Post by Klaus P. Pieper
find / ... | egrep -v "(^/home/samba/tmp)|(^/home/...)" ...
Aus dem regulären Ausdruck kann man herausheben.

egrep -v "^/home/(samba/tmp|...)"
Post by Klaus P. Pieper
ein. Gibt es noch eine bessere Möglichkeit?
Mit steigender Anzahl der Ausschlußkriterien wird

grep -vf datei_mit_regulären_ausdrücken

interessant.
--
Für Google, Tux und GPL!
Klaus P. Pieper
2004-02-19 07:54:54 UTC
Permalink
Danke.
--
Die email Adresse (reply-to) im header ist ungueltig.
Fuer mail "pub . kp2 . pieper @ ibeq . com" benutzen.
(Leerzeichen loeschen).

Reply-to invalid.
Use "pub . kp2 . pieper @ ibeq . com" (remove spaces).
Loading...