shell 检查文件夹下的文件大小 小于0删除
时间: 2023-04-02 18:03:42 浏览: 205
可以使用以下命令来检查文件夹下的文件大小并删除小于的文件:
find /path/to/folder -type f -size -1c -delete
其中,/path/to/folder 是你要检查的文件夹路径,-type f 表示只检查文件而不是文件夹,-size -1c 表示文件大小小于1字节,-delete 表示删除符合条件的文件。
相关问题
shell脚本实现遍历某个目录下所有的目录和子目录下的文件和文件夹,筛选出小于10T的文件夹和文件,然后删除筛选结果,直到把整个目录删除干净
可以使用以下脚本实现:
```bash
#!/bin/bash
# 定义函数用于遍历目录
function traverse() {
for file in "$1"/*; do
if [[ -d "$file" ]]; then
traverse "$file"
elif [[ -f "$file" ]]; then
check_file_size "$file"
fi
done
}
# 定义函数用于检查文件大小是否小于10T
function check_file_size() {
size=$(du -sk "$1" | awk '{print $1}')
if [[ $size -lt 10485760 ]]; then
remove_file "$1"
fi
}
# 定义函数用于删除文件
function remove_file() {
echo "Removing file: $1"
rm -rf "$1"
}
# 主程序
if [[ $# != 1 ]]; then
echo "Usage: $0 <directory>"
exit 1
fi
dir=$1
if [[ ! -d "$dir" ]]; then
echo "$dir is not a directory"
exit 1
fi
traverse "$dir"
```
使用方法:将脚本保存为一个文件,例如 `delete.sh`,然后在命令行中执行以下命令:
```
$ bash delete.sh <directory>
```
其中 `<directory>` 是要删除的目录的路径。注意,这个脚本会直接删除文件和文件夹,所以请谨慎使用。建议先将要删除的目录备份一下。
阅读全文