#!/bin/bash

# 源目录和目标目录，根据需要修改这两个变量
SRC_DIR="/root/store-dir/store"
DEST_DIR="/root/store-dir/loong64-store"

# 使用find命令查找所有以_all.deb结尾的文件，跳过$SRC_DIR/depends目录
find "$SRC_DIR" -type d \( -path "$SRC_DIR/depends" -o -path "$SRC_DIR/games" \) -prune -o -type f -name "*_all.deb" -print | while read file; do
  # 获取包含_all.deb文件的目录路径
  dir=$(dirname "$file")
  
  # 如果文件位于跳过的目录中，则不执行后续操作
  if [[ "$dir" == *"/depends"* ]]; then
    continue
  fi

  # 计算目标目录路径
  relative_dir="${dir#$SRC_DIR}"
  target_dir="$DEST_DIR$relative_dir"
  
  # 创建目标目录（如果不存在）
  mkdir -p "$target_dir"
  
  # 复制_all.deb所在目录的所有文件到目标目录，保留目录结构
  cp -av "$dir/"* "$target_dir"
done
