Gegeben :
- Ich habe eine Baumstruktur mit Ordnern
EmptyMeauf verschiedenen Ebenen EmptyMeVerzeichnisse enthalten Unterverzeichnisse und Dateien
Erforderlich :
- Leeren Sie den Inhalt von
EmptyMeVerzeichnissen ( einschließlich ihrer Unterverzeichnisse), während Sie diese Verzeichnisse behalten (ohne sie zu löschen).
Frage :
Was ist der Unix-Befehl, um alle EmptyMeVerzeichnisse der aktuellen Ebene rekursiv zu finden und ihren gesamten Inhalt (einschließlich Unterverzeichnisse) zu löschen, während EmptyMeVerzeichnisse auf der Disc bleiben?
Mein Versuch :
$ find . -name 'EmptyMe' -type d -exec rm -- {} +
rm: cannot remove `./a/b/c/d/EmptyMe': Is a directory
Wie Sie sehen können, hat dieser Befehl versucht, ihn zu entfernen EmptyMe, im Gegensatz zu seinem Inhalt.
EmptyMe.
-mindepth 1den verschachtelten Befehl und entfernen, -type fweil OP auch Verzeichnisse entfernen möchte.
find . -name 'EmptyMe' -type d -exec find {} -type f -delete \;Lassen Sie mich wissen, wenn Sie dies als tatsächliche Antwort wollen