I have many directories named “test” and I would like to remove them.
I know how to find them and print them using:
find . -name test -print
Now, how to do I remove the directories?
Please note that I have files in the directory as well and they must be removed as well.
Solution:
xargs
does all the magic:
find . -name test -type d -print0|xargs -0 rm -r --
xargs
executes the command passed as parameters, with the arguments passed to stdin.
This is using rm -r
to delete the directory and all its children.
The --
denotes the end of the arguments, to avoid a path starting with -
from being treated as an argument.
-print0
tells find
to print