#!/bin/bash # PlantUML 문법 오류 수정 스크립트 # [ 문법을 Client participant로 변경 echo "=====================================" echo "PlantUML 파일 문법 수정 시작" echo "=====================================" echo "" # 수정할 파일 목록 FILES=( "design/backend/sequence/inner/user-로그인.puml" "design/backend/sequence/inner/user-로그아웃.puml" "design/backend/sequence/inner/user-프로필수정.puml" "design/backend/sequence/inner/ai-트렌드분석및추천.puml" "design/backend/sequence/inner/content-이미지생성.puml" "design/backend/sequence/inner/distribution-다중채널배포.puml" "design/backend/sequence/inner/event-대시보드조회.puml" "design/backend/sequence/outer/이벤트생성플로우.puml" ) for file in "${FILES[@]}"; do if [ ! -f "$file" ]; then echo "❌ 파일이 존재하지 않음: $file" continue fi echo "수정 중: $file" # 백업 생성 cp "$file" "${file}.bak" # 1. Client actor가 없으면 추가 (첫 번째 participant 앞에) if ! grep -q "^actor Client" "$file"; then # title 다음 줄에 빈 줄이 있고, 그 다음에 participant가 나오는 경우 sed -i.tmp '/^title /a\ \ actor Client' "$file" rm "${file}.tmp" 2>/dev/null echo " - Client actor 추가됨" fi # 2. [-> 패턴을 Client -> 로 변경 if grep -q "\[-> " "$file"; then sed -i.tmp 's/\[-> /Client -> /g' "$file" rm "${file}.tmp" 2>/dev/null echo " - [-> 패턴 수정됨" fi # 3. -->[ 패턴을 --> Client 로 변경 if grep -q " -->\[" "$file"; then sed -i.tmp 's/ -->\[/ --> Client/g' "$file" rm "${file}.tmp" 2>/dev/null echo " - -->[ 패턴 수정됨" fi # 4. --> [: 패턴을 --> Client: 로 변경 if grep -q " --> \[:" "$file"; then sed -i.tmp 's/ --> \[:/ --> Client:/g' "$file" rm "${file}.tmp" 2>/dev/null echo " - --> [: 패턴 수정됨" fi echo " ✅ 완료: $file" echo "" done echo "=====================================" echo "모든 파일 수정 완료" echo "=====================================" echo "" echo "백업 파일: *.puml.bak" echo "백업 삭제: find design/backend/sequence -name '*.bak' -delete"