You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本实现保留最新X个文件夹并删除其余旧文件夹

实现方案

假设你使用Bash脚本,可按以下步骤实现保留最新X个文件夹、将其余存入待删除变量的需求:

核心思路

  1. 提取文件夹名中的epoch时间字段,按数字逆序排序(最新的文件夹排在最前)
  2. 跳过前X个需要保留的文件夹,剩余的即为待删除目标

代码实现

# 假设你的文件夹列表已存入该变量
folders="123-1.2.3.4-12345679
123-1.2.3.4-12345680
123-1.2.3.4-12345681
123-1.2.3.4-12345682"

# 设置需要保留的最新文件夹数量
keep_count=2

# 生成待删除文件夹列表
to_delete=$(echo "$folders" | sort -t '-' -k 3nr | tail -n +$((keep_count + 1)))

# 可选:验证结果
echo "待删除文件夹:"
echo "$to_delete"

代码解释

  • sort -t '-' -k 3nr:以-为分隔符,按第3个字段(epoch时间)进行数字逆序排序,确保最新的文件夹排在最前面
  • tail -n +$((keep_count + 1)):从第keep_count+1行开始读取内容,自动跳过前keep_count个需要保留的文件夹,剩下的就是待删除的目标
  • 如果文件夹总数≤保留数量,to_delete会是空值,后续删除操作不会执行无效操作

内容的提问来源于stack exchange,提问作者Mar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:20:27