Diskussion:Find
Beispiel ist falsch
[Quelltext bearbeiten]Dieses Beispiel:
find . -mtime +$1 -type d -maxdepth 1 -exec echo erstelle {}.tar.bz2... \; -exec tar cjf {}.tar.bz2 {} \; -exec echo fertig \; -exec test -f {}.tar.bz2 \; -exec rm -r {} \;
ist falsch: die "find-Variable" "{}" für den gefundenen Dateinamen kann in einer -exec-Anweisung nur einmal verwendet werden, deshalb funktioniert das:
-exec tar cjf {}.tar.bz2 {} \;
wenn überhaupt, dann höchstens zufällig auf einigen ausgewählten Systemen. --bakunin (Diskussion) 19:28, 18. Aug. 2017 (CEST)
Falle bei Benutzung des Parameters "-delete"
[Quelltext bearbeiten]Vielleicht ist noch erwähnenswert, dass es im Zusammenhang mit find und dem Parameter -delete einen bösen "Anfängerfehler" gibt, den es gilt zu vermeiden.
Will man zum Beispiel alle Dateien mit dem Namen "Wikipedia" aus seinem Home-Verzeichnis löschen, sollte man NICHT schreiben:
find /home/<Benutzername> -delete -name Wikipedia
... denn dieser Befehl löscht sämtliche Dateien und Ordner in /home/<Benutzername> und ignoriert die Einschränkung "-name Wikipedia". Wenn muss das "-delete" nach hinten:
find /home/<Benutzername> -name Wikipedia -delete
Quelle: https://wiki.ubuntuusers.de/find/#Die-Aktion-delete-steht-an-der-falschen-Stelle --130.83.182.70 13:35, 6. Sep. 2018 (CEST)