Configurando diretórios e arquivos de teste:
$ mkdir -p x{1..3}/mf/dir{1..3}
$ touch x{1..3}/mf/file{1..3}
$ tree
.
|-- x1
| '-- mf
| |-- dir1
| |-- dir2
| |-- dir3
| |-- file1
| |-- file2
| '-- file3
|-- x2
| '-- mf
| |-- dir1
| |-- dir2
| |-- dir3
| |-- file1
| |-- file2
| '-- file3
'-- x3
'-- mf
|-- dir1
|-- dir2
|-- dir3
|-- file1
|-- file2
'-- file3
Em seguida, localize todos os diretórios que possuem mf
em seu caminho e exclua-os. O -depth
faz uma travessia em profundidade, de modo que find
não tente inserir diretórios que já foram excluídos. Também imprimimos os nomes de todos os diretórios que são excluídos.
$ find . -depth -type d -path "*/mf/*" -print -exec rm -rf {} +
./x1/mf/dir1
./x1/mf/dir2
./x1/mf/dir3
./x2/mf/dir1
./x2/mf/dir2
./x2/mf/dir3
./x3/mf/dir1
./x3/mf/dir2
./x3/mf/dir3
Agora:
$ tree
.
|-- x1
| '-- mf
| |-- file1
| |-- file2
| '-- file3
|-- x2
| '-- mf
| |-- file1
| |-- file2
| '-- file3
'-- x3
'-- mf
|-- file1
|-- file2
'-- file3