我有一个这样的目录:
my-app/
├─ 1/
├─ 2/
├─ .... (a lot of subdirectories)
├─ N/
每个子目录中都有大量的 PNG 文件,例如:
1
├─ 1.png
├─ 2.png
├─ ....
├─ 100000000.png (not sure)
我甚至不知道每个目录中有多少个 png 文件,因为我无法让其ls
运行。也许它们太多了,甚至ls
会卡住。
PNG 文件是由脚本错误生成的。所以我不需要备份任何东西。我只想删除所有 PNG 文件,但保留目录结构。
我尝试过rm
但是它像命令一样卡住了ls
。
我应该怎么办?
答案1
任何一个
find my-app/ -mindepth 2 -name '*.png' -delete
或(在 bash shell 中)
printf '%s\0' my-app/*/*.png | xargs -r0 rm
如果存在子目录,前者将递归到子目录中;-maxdepth 2
如果存在子目录,则添加,但这不是所希望的。第二个不会递归,但如果需要,可以使用 进行递归globstar
。