Rekursive Unterordner mit find löschen

Rekursive Unterordner mit find löschen

Ich muss rekursive Unterordner in einer einzigen Zeile löschen.

Für einen Unterordner:

find folder -name "subfolder" -exec rm -r "{}" \;

oder

find folder -name "subfolder" -type d -exec rm -r "{}" \;

Aber was ist mit mehreren Unterordnern in einer Zeile? (Unterordner1, Unterordner2 oder foo, bar, dummy…)

Antwort1

Was ich tun würde :

find folder -name "subfolder[0-9]*" -exec rm -r {} \;

Verwendung einer

oder

find folder \( -name 'foo' -o -name 'bar' -o name 'base' \) -exec rm -r {} \;

Antwort2

Der Autor der Frage hat die folgende Lösung vorgeschlagen, die offensichtlich abgeleitet ist vondie Antwort auf SO.

Die Lösung fand ich inPaketüberfluss

find folder \( -name 'foo*' -or -name 'bar' -or -name 'dummy*' \) -exec rm -r {} \;

verwandte Informationen