Shell - 删除除单个文件夹之外的所有内容

IQA*_*eas 3 bash shell

我有一个目录,其中包含一个单独的文件夹.git,旁边有各种其他文件和文件夹.我想删除所有文件和所有文件夹,但我的.git目录除外.

请注意,如果任何文件夹包含一个名为的子文件夹.git,我也想删除它们.只保留r​​oot git repo!

Gil*_*not 5

这很简单:

shopt -s extglob dotglob
rm -rf !(.git)
Run Code Online (Sandbox Code Playgroud)

http://mywiki.wooledge.org/glob