bash - remove all directories (and contents) but not files in pwd
I found this one somewhere:
rm -r */
Seems the easiest way to go. With your example, you would have to confirm each case, if you have 5 files it's OK, but with bigger file structures an interactive mode is't the way to go... Just as a suggestion, if it's important information, make a backup...
No that would give you "missing operand" since you didn't specify anything. Putting a *
would prompt also for files.
I'd give a try to:
find -mindepth 1 -maxdepth 1 -type d -exec rm -r {} \;
The mindepth 1
will exclude .
from the results, the maxdepth 1
will exclude trying to do under the directories that will anyway get deleted (therefore creating a warning). But in practice you could leave them both out if you agree to have a few "innocent" warnings.
Use
rm -rf ./*/
That avoids interactive mode an deletes only directories in your local directory.