Forum
Tipps
News
Menu-Icon

SH Script zum Finden und Löschen bestimmter Dateien in einem Verzeichnis

Hallo,

ich habe eine Verzeichnis (Nennen wir es /tmp/temp) in dem immer wieder Dateien reinlaufen. Diese Dateien möchte ich mit einem Script nach einem bestimmten Inhalt wie "SPAM" durchsuchen und die gefundenen Dateien dann löschen.
Ich habs bereits mit find und egrep versucht, aber irgendwie komme ich nicht zur Lösung.
Mit find wüsste ich nicht, wie ich nach Inhalt suchen kann und egrep liefert mir irgendwie nie die Dateien allein, sondern auch den Suchstring. Da meine Testscripte so nicht funktionierten , erspare ich mir auch das Posten dieser. Vielleicht kann mir ja Jemand helfen...


Antworten zu SH Script zum Finden und Löschen bestimmter Dateien in einem Verzeichnis:

 

Zitat
Diese Dateien möchte ich mit einem Script nach einem bestimmten Inhalt wie "SPAM" durchsuchen und die gefundenen Dateien dann löschen.

Nur um sicherzugehen, Du suchst nach dem string "SPAM" in der Datei und nicht im Dateinamen? Was für Dateien durchsuchst Du da, womöglich Textdateien?  ;)

Was hast Du bisher zusammengescriptet?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi,
jep. Ist so korrekt. Es sind halt EML Dateien, die dort landen.
Ich habe nun doch noch ein Script zum korrekten Arbeiten gebracht, aber ich denke, dass man das Ganze mit einer Schleife schöner lösen kann, wenn beispielsweise nicht nur nach SPAM sondern auch "Virus" gesuchet werden soll oder sonstige Ausdrücke, die man filtern möchte.
 

Zitat
find /tmp/temp -type f -name '*.eml' -exec egrep -i "*SPAM*" {} \; -exec rm {} \;
Auch ein Einbau von "xargs" anstatt "-exec" wäre schöner bzw. schneller, aber das klappt bei mir irgendwie nicht.

Du bastelst Dir also einen eigenen Spamfilter wenn man so will. Kannst Du da nicht schon auf bestehende Lösungen zurückgreifen?  ???

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

bogofilter und spamassassin sind fertige Lösungen, braucht man nur mit dem Paktemanager nachinstallieren und seinem Mailprogramm mitteilen das es das nun im System gibt. Um die verschiedensten überflüssigen Daten aus dem System zu entfernen kann Bleachbit gute Dienste leisten. Mit Scripten geht's zwar auch, aber warum das Rad nochmals erfinden ?

Have Fun

Wäre für'n Spam-Filter auch nicht der beste Ansatz.
Sollte "Spam" aber nur ein Beispiel sein, schreib vllt mal genauer was Du vorhast, so semmelst Du Dir auch alles weg, wo "SPAM" drin auftaucht.  :P  also auch "SPAMASSASSIN"
Um Perfektion zu kriegen wird das komplexer.

 

Zitat
Um Perfektion zu kriegen wird das komplexer.

Seit wann sind Spamfilter perfekt?  ;)
Da kriegste keine Perfektion rein. Irgendeine legitime Mail wird immer wieder mal aussortiert und so manche Spammail rutscht durch den Filter 

Perfektion meine ich rein script-technisch ;)
Wie gesagt, als Spamfilter ein völlig falscher Ansatz.
 

 

Zitat
Perfektion meine ich rein script-technisch

Wenn man vorher das Ziel definiert kann man das Script ja so hinbiegen, dass es definitionsgemäß perfekt ist  ;)
Aber grundlegende "Perfektion" ist ein schwieriges/unmögliches Thema genauso wie 100% Sicherheit (aber die Diskussion hatten wir beide schonmal  ;D;D )

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hmmm... also es gibt bereits einen SPAM Filter, aber ab und an kommen SPAM Nachrichten durch und landen dann in einem Verzeichnis. Und dieses möchte ich einfach immer weider nach bestimmten Begriffen durchsuchen und dann eben löschen. Ich habe aber bereits auch eine Lösung. Die ist zwar nicht perfekt,aber funktioniert:

find /tmp/temp -type f -name '*.eml' -exec egrep -i "*SPAM*" {} \; -exec rm {} \;

Aber das habe ich ja bereits geschrieben.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

find /tmp/temp -type f -name '*.eml' -exec egrep -i "*SPAM*" {} \; -exec rm {} \;


« Ubuntu: Frage zu PaketenUbuntu 10.10 nimmt keine Eingaben mehr »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Verzeichnis
Verzeichnisse, oft auch als Ordner bezeichnet, sind essenzielle Strukturelemente in einem Dateisystem, um Dateien und andere Verzeichnisse übersichtlich zu organisie...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...

Dateiendung
Die Dateiendung ist ein Teil des Dateinamen und zeigt das Dateiformat an. Klassisch war die "8.3" Regelung, nach der der Dateiname under MS DOS 8 Zeichen lang sein durfte...