find 除了某个文件之外,删除所有其他文件 (-not -name、-delete)

1.
除了 HoloCircleView.java 文件,其他文件全部删除
find . -type f -not -name "HoloCircleView.java" -delete
find . -not -name "HoloCircleView.java" -delete
除了 HoloCircleView.java 和 current.tx之外,其他文件和目录全部删除
find . -not -name "HoloCircleView.java" -not -name "current.txt" -delete
2.
递归删除空目录
~/deleteEmptyDir.sh
#!/bin/bash
# des: delete empty directories recursive
deleteempty() {
    find ${1:-.} -mindepth 1 -maxdepth 1 -type d | while read -r dir
    do
        if [[ -z "$(find "$dir" -mindepth 1 -type f)" ]] >/dev/null
        then
            echo "$dir"
            rm -rf ${dir} 2>&- && echo "Empty, Deleted!" || echo
"Delete error"
        fi
        if [ -d ${dir} ]
        then
            deleteempty "$dir"
        fi
    done
}
deleteempty
原文地址:https://www.cnblogs.com/onelikeone/p/13877591.html