编辑
2025-03-11
Linux运维
00

删除当前目录下小于10G的文件或者文件夹:

bash
#!/bin/bash # 设置目标目录(默认为当前目录) target_dir="." cd "$target_dir" || exit 1 # 计算 10G 对应的 KB 值(10 * 1024 * 1024) threshold_kb=$((10 * 1024 * 1024)) echo "扫描小于 10GB 的文件/文件夹..." echo "--------------------------------" # 查找并显示要删除的项目 to_delete=$(du -sk * 2>/dev/null | awk -v limit="$threshold_kb" '$1 < limit {printf "%-10s %s\n", $1/1024/1024"G", $2}') if [ -z "$to_delete" ]; then echo "没有找到小于 10GB 的文件/文件夹" exit 0 fi echo "以下项目将被删除:" echo "$to_delete" echo "--------------------------------" echo "总项数: $(echo "$to_delete" | wc -l)" echo "--------------------------------" read -p "确认删除这些文件/文件夹?[y/N] " confirm if [[ ! "$confirm" =~ ^[Yy]$ ]]; then echo "操作已取消" exit 0 fi # 执行删除操作 echo "开始删除..." du -sk * 2>/dev/null | awk -v limit="$threshold_kb" '$1 < limit {print $2}' | while IFS= read -r item; do echo "删除: $item" sudo rm -rf "$item" done echo "--------------------------------" echo "删除操作完成"
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!