delete_history_image.sh 909 B

12345678910111213141516171819202122232425262728
  1. #!/bin/bash
  2. # @File : delete_history_image.sh
  3. # @Author: DJW
  4. # @Date : 2023-11-06 14:00
  5. # @Desc : 该脚本实现目标图像目录超过 max_images 张图像就删除旧图像的功能
  6. image_path="/data/sonar_img"
  7. max_images=20000
  8. # 获取当前图片数量
  9. image_count=$(find "$image_path" -maxdepth 1 -type f -name "*.jpg" | wc -l)
  10. # 如果图片数量超过最大数量,就开始删除
  11. if [ "$image_count" -gt "$max_images" ]; then
  12. # 计算要删除的图片数量
  13. images_to_delete=$((image_count - max_images))
  14. # 获取要删除的图片列表,并按修改时间排序
  15. images=$(find "$image_path" -maxdepth 1 -type f -name "*.jpg" -printf "%T@ %p\n" | sort -n | awk '{print $2}')
  16. # 删除最旧的图片
  17. echo "Deleting $images_to_delete images..."
  18. echo "$images" | head -n "$images_to_delete" | xargs rm -f
  19. echo "Done!"
  20. else
  21. echo "No images to delete."
  22. fi