使用 Linux 命令行查找并删除所有空目录
为了递归查找并删除当前目录(.)中的所有空子目录,使用此命令:
remove-empty-dirs.sh
find . -depth -type d -print0 | xargs -0 rmdir此命令将**只删除空目录!**任何文件或非空目录都不会被修改。
各部分含义说明:
find:使用 find 命令递归查找目录.:从当前目录开始递归。如果你想从不同目录开始,请在此处使用该目录名。-type d:只查找目录 - 忽略文件-depth:在打印目录名之前,先打印其所有子目录名。这避免了必须重复运行此命令,因为父目录无法删除,因为其空子目录需要先删除-print0打印所有找到的目录时,在目录之间打印 NUL 字符。这是为了正确处理目录名中的空格| xargs:将目录传递给xargs,一个运行-0:按 NUL 字符而不是换行符分割输入。这与find的-print0选项对应,是正确处理目录名中空格所必需的。rmdir:对找到的每个目录运行rmdir,即如果目录为空则尝试删除。
Check out similar posts by category:
Linux
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow