首页 > 解决方案 > 在 Linux 中查找特定的父文件夹并删除子文件夹中的文件

问题描述

我想要发生的是删除文件夹中的非图像,但如果父文件夹不是文件夹,则assets/uploads跳过该文件夹。uploadsassets

site1.dev/assets/uploads (delete non-images)
site2.dev/assets/uploads (delete non-images)
site3.dev/assets/uploads (delete non-images)
site4.dev/uploads (skip deletion)
site5.dev/assets/uploads (delete non-images)

这是我使用的代码,find assets/uploads -name "*.php" -type f -print0 | xargs -0 /bin/rm -f但在每个站点运行此代码很乏味。

先感谢您。

标签: linuxbashcentos7

解决方案


要按照描述删除“无图像”,您需要首先发现正在使用的图像扩展名并通过 -not 标志使用 find 忽略它们

find ./assets/uploads -type f -not /assets/uploads/*.img -not /assets/uploads/*.jpeg -delete

推荐阅读