Bernd Brodesser, Mittwoch, 11. Dezember 2002 13:46:
Was genau hast Du vor? Alle Verzeichnisse und Dateien löschen, die länger als 5 Tage nicht gelesen wurden. Was ist, wenn ein Verzeichnis länger als 5 Tage nicht gelesen wurde, eine Datei darin aber schon? Soll die Datei auch gelöscht werden, obwohl vor kurzem noch auf sie zugegriffen wurde? Wenn sie nicht gelöscht wird, kann aber auch das Verzeichnis nicht gelöscht werden.
Also ich möchte erreichen, daß alle Dateien in Trash fünf Tage, nachdem sie dorthin geschoben wurden, gelöscht werden. Bei den Verzeichnissen möchte ich dasselbe, d.h. fünf Tage nach dem Verschieben in den Trash sollen sie mitsamt der enthaltenen Unterstruktur verschwinden. Daß in einem Verzeichnis eine Datei liegt, auf die vor weniger als fünf Tagen zugegriffen wurde kann doch eigentlich nicht sein. Denn auf das, was im Trash liegt, wird (bei mir jedenfalls) überhaupt nicht mehr zugegriffen.
Das rm -r erscheint mir ein wenig doppelt gemoppelt. Einerseits bekomst Du sämtliche Dateinamen von find explizit geliefert, zum anderen sagst Du alles soll, soweit es sich um Verzeichnisse handelt mit Inhalt gelöscht werden.
Das -r habe ich angefügt, weil ich dachte, damit könnte ich eben die Unterverzeichnisse selbst auch erwischen: Ein rm -r /home würde doch zB home mitsamt jeglicher Unterstruktur beseitigen. Die Umleitung der stderr habe ich gesetzt, weil eben find auch den Trash selbst findet, den es weder löschen kann noch soll. Weil ich aber nicht wußte, wie ich es besser machen könnte habe ich einfach umgeleitet, weil ich dachte, im Übrigen funktioniert das Skript. Wie müßte ich also mein Skript umschreiben, damit ich mein Ziel erreichen kann? -- Andreas Feile www.feile.net