Suchen Sie das Verzeichnis, das die Datei enthält. Führen Sie den Befehl in diesem Verzeichnis aus. Löschen Sie anschließend die Dateien.

Suchen Sie das Verzeichnis, das die Datei enthält. Führen Sie den Befehl in diesem Verzeichnis aus. Löschen Sie anschließend die Dateien.

Ich möchte (rekursiv) alle Verzeichnisse finden .cue, die Dateien enthalten, einen Befehl in diesem Verzeichnis ausführen und dann alle Dateien in diesem Verzeichnis mit demselben Präfix wie die .cueDatei löschen.

find . -name '*.cue' \( -execdir myotherscript.sh \; -execdir [rm ${}%.cue.*] \; \);

Offensichtlich funktioniert das mit der Klammerung [rm...]nicht.

Was den Löschvorgang betrifft: Wenn das Verzeichnis eine Datei wie enthält marley-birds.cue, möchte ich alle Dateien dieses Typs löschen marley-birds.*(einschließlich der .cueDatei selbst).

verwandte Informationen