我想删除包含文件core.properties.unloaded
且不包含文件core.properties
的工作目录的所有直接子文件夹。我知道这必须是find
和rm
的组合。但如何结合?
感谢您的帮助!
答案 0 :(得分:1)
像这样开始
$ find . -name "*"
.
./dir1
./dir1/core.properties.unloaded
./dir2
./dir2/core.properties
./dir3
./dir3/core.properties
./dir3/core.properties.unloaded
我跑了
for i in `find -mindepth 2 -maxdepth 2 -name "core.properties.unloaded" | awk -F'/' '{print $2}'`
do
if [ ! -f "$i"/core.properties ]; then
rm -rf "$i"
fi
done
然后find命令演示只删除了dir1(其他两个目录包含core.properties
或不包含core.properties.unloaded
) -
$ find . -name "*"
。 ./dir2 ./dir2/core.properties ./dir3 ./dir3/core.properties ./dir3/core.properties.unloaded