Löschen Sie alle Dateien in einem Verzeichnis, die ein bestimmtes Wort enthalten

Löschen Sie alle Dateien in einem Verzeichnis, die ein bestimmtes Wort enthalten

Ich bin zu einem bestimmten Verzeichnis im Dateisystem navigiert und möchte alle Dateien im Verzeichnis löschen, deren Dateiname „sofa_“ enthält.

Kann mir bitte jemand einen Vorschlag machen, wie das geht?

Antwort1

Wenn sich alle Dateien im selben Verzeichnis befinden (keine Unterverzeichnisse), führen Sie einfach Folgendes aus:

rm *sofa_*

Wenn Sie in Unterverzeichnisse wechseln müssen, verwenden Sie entweder find:

find . -name "*sofa_*" -type f -delete

Oder aktivieren Sie bei Verwendung bashdie globstarOption, die **alle Dateien und 0 oder mehr Unterverzeichnisse abgleicht (rekursiv macht):

shopt -s globstar

Dann:

rm **/*sofa_*

Antwort2

find . -name "*sofa_*" -type f | xargs rm

Oder wie in den Kommentaren richtig angemerkt:

find . -name "*sofa_*" -type f -delete

verwandte Informationen