命令从递归匹配名称的文件夹中删除所有文件?

Hai*_*ood 5 command-line bash rm

我有我的基本文件夹(我们称之为基本文件夹)。

我里面有一堆文件夹,这些文件夹中分散在不同深度的是缓存文件夹。

我想从缓存文件夹中删除所有文件,而不是文件夹本身。

我试过了

cd base
#then one of...
sudo rm -rf cache/*
sudo rm -rf *cache/*
sudo rm -rf cache*/*
sudo rm -rf *cache*/*
Run Code Online (Sandbox Code Playgroud)

但真的只是在猜测,正确的命令是什么?

gei*_*rha 9

在 bash 中,您可以启用 globstar 并用于**递归匹配目录

shopt -s globstar
echo rm -rf ./**/*cache*/*
Run Code Online (Sandbox Code Playgroud)

请参阅模式匹配