migrate_data_structure.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #!/bin/bash
  2. # 数据目录结构迁移脚本
  3. # 将现有数据迁移到新的目录结构
  4. set -e
  5. # 获取脚本所在目录
  6. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  7. PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
  8. # 颜色定义
  9. GREEN='\033[0;32m'
  10. YELLOW='\033[1;33m'
  11. NC='\033[0m'
  12. cd "$PROJECT_ROOT"
  13. echo "=========================================="
  14. echo "数据目录结构迁移脚本"
  15. echo "=========================================="
  16. echo ""
  17. # 账号名称
  18. ACCOUNT_NAME=${1:-"阿里多多酱"}
  19. ACCOUNT_DIR="data/账号/$ACCOUNT_NAME"
  20. if [ ! -d "$ACCOUNT_DIR" ]; then
  21. echo "错误: 账号目录不存在: $ACCOUNT_DIR"
  22. exit 1
  23. fi
  24. echo "正在迁移账号: $ACCOUNT_NAME"
  25. echo "账号目录: $ACCOUNT_DIR"
  26. echo ""
  27. # 创建新的目录结构
  28. echo "创建新目录结构..."
  29. mkdir -p "$ACCOUNT_DIR/input"
  30. mkdir -p "$ACCOUNT_DIR/output/intermediate"
  31. mkdir -p "$ACCOUNT_DIR/output/how解构结果"
  32. mkdir -p "$ACCOUNT_DIR/output/visualization"
  33. echo -e "${GREEN}✓${NC} 目录结构创建完成"
  34. echo ""
  35. # 迁移数据
  36. echo "迁移数据..."
  37. # 1. 迁移 what解构 (当前帖子)
  38. if [ -d "$ACCOUNT_DIR/what解构" ] && [ ! -L "$ACCOUNT_DIR/what解构" ]; then
  39. echo " 移动: what解构 -> input/what解构"
  40. mv "$ACCOUNT_DIR/what解构" "$ACCOUNT_DIR/input/"
  41. fi
  42. # 2. 迁移 what解构_所有帖子 (过去帖子)
  43. if [ -d "$ACCOUNT_DIR/what解构_所有帖子" ] && [ ! -L "$ACCOUNT_DIR/what解构_所有帖子" ]; then
  44. echo " 移动: what解构_所有帖子 -> input/what解构_所有帖子"
  45. mv "$ACCOUNT_DIR/what解构_所有帖子" "$ACCOUNT_DIR/input/"
  46. fi
  47. # 3. pattern 目录已经在正确位置,不需要移动
  48. echo -e "${GREEN}✓${NC} 数据迁移完成"
  49. echo ""
  50. # 显示新的目录结构
  51. echo "新的目录结构:"
  52. echo "=========================================="
  53. tree -L 3 -d "$ACCOUNT_DIR" 2>/dev/null || {
  54. echo "$ACCOUNT_DIR/"
  55. echo "├── input/"
  56. echo "│ ├── what解构/"
  57. echo "│ └── what解构_所有帖子/"
  58. echo "├── pattern/"
  59. echo "│ └── cluster/"
  60. echo "└── output/"
  61. echo " ├── intermediate/"
  62. echo " ├── how解构结果/"
  63. echo " └── visualization/"
  64. }
  65. echo "=========================================="
  66. echo ""
  67. echo -e "${GREEN}✓${NC} 迁移完成!"
  68. echo ""
  69. echo "提示:"
  70. echo " - 原始数据现在在: $ACCOUNT_DIR/input/"
  71. echo " - 输出结果将保存到: $ACCOUNT_DIR/output/"
  72. echo " - pattern数据保持在: $ACCOUNT_DIR/pattern/"