小编Zet*_*ttt的帖子

使用find查找某个目录并删除其中除一个目录外的所有文件

我有以下问题。我有一个目录结构,想删除名为Caches. 除了所有名为Snapshots. 我不知道如何使用find或我知道的任何其他命令来做到这一点。

我问的原因:在 iOS 上,每个应用程序都有自己的 Caches 目录。这些有时无法正确清除,具体取决于应用程序。有了这个答案的解决方案,当设备的驱动器安装在另一台计算机上时,例如使用 FUSE (iExplorer),人们将能够清除 iOS 上的缓存,从而优化磁盘空间。

这是我到目前为止:

find . 2>/dev/null -type d -name "Caches" -maxdepth 3 -print
Run Code Online (Sandbox Code Playgroud)

这将返回如下内容:

./Library/Caches
Run Code Online (Sandbox Code Playgroud)

当我执行 a 时,ls ./Library/Caches我会看到Snapshots我想排除的所有内容和目录,因为最终我想要-delete除此之外的所有内容。


我想要这样的东西:

  Before:                            After:

  .                                  .
  ??? a                              ??? a
  ?   ??? a                          ?   ??? a
  ?   ??? Caches                     ?   ??? Caches
  ?       ??? a                      ?       ??? a
  ?       ?   ??? Snapshots          ?           ??? Snapshots
  ?       ?       ??? a              ? …
Run Code Online (Sandbox Code Playgroud)

find

5
推荐指数
2
解决办法
1466
查看次数

标签 统计

find ×1