Wenn ich einen find
Befehl in einem sehr großen Verzeichnis ausführe, stelle ich fest, dass find
der Speicherverbrauch viel stärker ansteigt, als ich dachte. Ich fand es sehr schwierig, nach Lösungen zu suchen, da das Wort „finden“ so oft verwendet wird ;) Dies ist der Befehl:
find /var/dir -size +500k -iname "pattern_*" -mtime +90 -type f -exec rm {} \; -print
Behält find die gesamte Dateiliste für ein Verzeichnis im Speicher, während es sie verarbeitet? Es sieht so aus, als könnte es einfach einen Eintrag prüfen und weitermachen. Das Verzeichnis, mit dem ich arbeite, enthält ungefähr 2 Millionen Dateien, und ich bekomme jetzt langsam Probleme mit dem Speicherlimit.
Gibt es Möglichkeiten, find
den Speicherverbrauch zu reduzieren? Gibt es Alternativen, die besser funktionieren? Ich muss nur Dateien in diesem Verzeichnis löschen, die ein paar Kriterien erfüllen, und sie dann ausdrucken. (Meine letzte Lösung ist, dass ich einfach mein eigenes Programm schreibe, um das auszuführen, was ich brauche, indem ich die Ergebnisse von ls
... streame.)