使用find一键删除多个目录

使用find一键删除多个目录

我想列出路径下的所有子文件夹${BASE_PATH}/*/${env}/{state1,state2,state3,state4}/*_BNDL/{log,state}(在此日期时间戳文件夹下将存在)并希望以自动方式删除。

BASE_PATH=/data/jobs/runs
env=test
find ${BASE_PATH}/*/${env}/{state1,state2,state3,state4}/*_BNDL/{log,state} -mindepth 1 -maxdepth 1 -type d -ctime +15

但在 PyCharm 上我收到此警告

在 POSIX sh 中,大括号扩展未定义。请参阅 SC2039,我可以在 shell 上运行该命令并且工作正常,但为什么会出现此警告?

在此输入图像描述

答案1

您需要让 IDE 知道将使用哪个 shell 来运行您的代码。最好的方法是添加适当的 shebang:

#!/bin/bash
BASE_PATH=/data/jobs/runs
env=test
find "${BASE_PATH}"/*/"${env}"/{state1,state2,state3,state4}/*_BNDL/{log,state} -mindepth 1 -maxdepth 1 -type d -ctime +15

您还可以使用shell而是一个指令,但这在这里不合适。

相关内容