1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Unix oder Automator: Dateien mit bestimmten Zeichenkombinationen finden ...

Dieses Thema im Forum "macOS & OS X" wurde erstellt von willfried, 16.07.06.

  1. willfried

    willfried Gast

    Hallo Forum,

    Ein banales Problem: Ich habe auf meinem System in verschiedensten Ordnern Dateien der Form

    abc.xyz.VERS1.123 bzw.
    abc.xyz.VERS2.123.

    Erzeugt wurden sie von einem Sync-Programm. Diese Dateien sollen gelistet bzw. gelöscht werden. Weder Automator noch unix Kommandos im Terminalmodus konnten mir helfen. Als Pattern haben ich "*.VERS1.*" benutzt, aber das funktioniert nicht. Die man-page von find war auch nicht hilfreich: möglicherweise interpretiere ich die Syntax falsch...

    Was muss ich tun?
     
  2. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Versuch mal ein
    Code:
    find / -name "*.VERS1.*"
    Das sollte alle derart benannten Dateien unterhalb von / finden. Oder das Wurzelverzeichnis entsprechend umbenennen. Wenn es bei Dir die richtigen Dateien auswirft, kannst Du die Ausgabe von find weiterverarbeiten (mit der -exec Option).
     
  3. willfried

    willfried Gast

    find funktioniert. Kann ich das Ergebnis zum Löschen nicht einfach zu rm durchreichen, etwa so:
    find . -name "*.VERS?.*" | rm
     
  4. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Ja, das ginge. Probehalber würde ich es vielleicht zunächst mal so machen:
    Code:
    find . -name "*.VERS?.*" -ok rm {} \;
    Dann würdest Du vor dem Löschen jeder Datei nochmal um Bestätigung gebeten. Die -ok Option schützt Dich vor eventuellen Fehleingaben beim Filter. Falls alles richtig erscheint, kannst Du immer noch mit Ctrl-C abbrechen und "radikal" über die Pipe rm rattern lassen (genauso wie Du schon gepostet hast). ;)
     
  5. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.903
    find hat einen eigenen Löschbefehl, der ist bei vielen Dateien viel flinker.

    find -x . -iname '*.VERS?.*' -delete

    (Das -x beschränkt die Suche auf das eine Volume, das -iname ignoriert Gross/Kleinschreibung im Suchmuster.)
     
  6. willfried

    willfried Gast

    Super + Danke! Klappt bestens. Geht doch nichts über Unix ;)
     
  7. 48259

    48259 Schöner von Nordhausen

    Dabei seit:
    01.02.06
    Beiträge:
    326
    Vers1? Bibelverse oder wie? (sorry, musste sein...)
     

Diese Seite empfehlen