我有一些错误创建的文件夹。我想删除这些文件夹。
¬ 636
¬ 636.empty
¬ 637
¬ 638.empty
¬ 639
¬ 639.empty
在这种情况下,我想删除636.empty
并保留剩余的非空文件夹。
运行终端命令后,我想sister
删除文件夹中的所有文件夹。
¬ 636
¬ 637
¬ 638.empty
¬ 639
删除的文件夹为:
¬ 636.empty
¬ 639.empty
我有一些25,000
文件夹,也许1000
这些文件夹与该empty
文件夹重复
答案1
循环遍历所有命名的目录*empty
并检查是否存在相同的目录,.empty
如果是则删除:
for d in *.empty; do
[ -d "$d" ] && [ -d "${d%.empty}" ] && rmdir "$d"
done
如果目录不是空的,则替换rmdir
为,尽管目录名称是 ;-)rm -rf
替代find
方案:
find -maxdepth 1 -type d -name '*.empty' \
-exec sh -c '[ -d "${1%.empty}" ]' find-sh {} \; \
-delete
如果目录不为空,则替换-delete
为。-exec rm -rf {} \;