#!/usr/bin/env bash # archive_inbox.sh — Inbox 파일 이동 + PD 지시 로그 경로 자동 정정 (단일 트랜잭션) # 사용: bash scripts/archive_inbox.sh [ ...] # 각 src_path는 공유/소통/ 하위 현재 경로. # 수행: (1) 파일명 추출 (2) git mv → 공유/소통/완료/ (3) PD 지시 로그 2종에서 경로 sed 치환 # (4) verify_log_paths.sh 재실행하여 부재 경로 0건 확인 # 목적: "Inbox 이동 후 PD 지시 로그 경로 동기화 누락" 재발 구조적 차단 (2026-04-17 실증) set -euo pipefail cd "$(dirname "$0")/.." if [ "$#" -eq 0 ]; then echo "usage: bash scripts/archive_inbox.sh [ ...]" >&2 exit 1 fi DST_DIR="공유/소통/완료" mkdir -p "$DST_DIR" LOG_DEV="공유/PD_지시_트래킹/개발팀_PD_지시_로그.md" LOG_PLAN="공유/PD_지시_트래킹/기획팀_PD_지시_로그.md" moved=0 for src in "$@"; do if [ ! -f "$src" ]; then echo "⚠️ 파일 없음, 건너뜀: $src" >&2 continue fi base=$(basename "$src") dst="$DST_DIR/$base" if [ -e "$dst" ]; then echo "⚠️ 대상 이미 존재, 건너뜀: $dst" >&2 continue fi # 이동 (git mv 우선, 실패 시 일반 mv) git mv "$src" "$dst" 2>/dev/null || mv "$src" "$dst" echo "✅ 이동: $src → $dst" # PD 지시 로그 경로 정정 (정규식 특수문자 이스케이프는 sed 기본으로 충분) esc_src=$(printf '%s' "$src" | sed 's|[\\&/]|\\&|g') esc_dst=$(printf '%s' "$dst" | sed 's|[\\&/]|\\&|g') sed -i "s|$esc_src|$esc_dst|g" "$LOG_DEV" 2>/dev/null || true sed -i "s|$esc_src|$esc_dst|g" "$LOG_PLAN" 2>/dev/null || true moved=$((moved+1)) done echo "" echo "📊 총 $moved 건 이동·경로 정정 완료" echo "🔍 verify_log_paths.sh 재검증:" bash scripts/verify_log_paths.sh 2>&1 | tail -5