📅  最后修改于: 2023-12-03 14:50:20.745000             🧑  作者: Mango
在命令行中,经常会有在某个目录下删除所有空文件和空文件夹的需求,这时候我们可以使用Shell-Bash脚本来实现。
我们可以先列出某个目录下所有的文件和文件夹,然后遍历这个列表,如果是一个空文件或者空文件夹则进行删除操作。
#!/bin/bash
# 遍历指定路径下的所有文件和文件夹
for file in $(find /path/to/directory -type d -o -type f); do
# 如果是目录并且是空目录则删除
if [ -d "$file" ] && [ "$(ls -A $file)" = "" ]; then
rm -rf $file
echo "删除空目录: $file"
# 如果是文件并且是空文件则删除
elif [ -f "$file" ] && [ ! -s "$file" ]; then
rm $file
echo "删除空文件: $file"
fi
done
find /path/to/directory -type d -o -type f
:使用find
命令查找指定目录下所有的文件和文件夹if [ -d "$file" ] && [ "$(ls -A $file)" = "" ]
:如果是目录并且是空目录rm -rf $file
:删除目录echo "删除空目录: $file"
:提示删除成功elif [ -f "$file" ] && [ ! -s "$file" ]
:如果是文件并且是空文件rm $file
:删除文件echo "删除空文件: $file"
:提示删除成功通过Shell-Bash脚本,我们可以快速、优雅地完成删除终端中所有空文件和文件夹的操作。该脚本可以适用于Linux、macOS等不同操作系统平台上。