오류 2: 치환 직후 grep -nE 'SPRING_[A-Z_]*APP_' 로 collateral 훼손을 탐지 → 역치환 s/SPRING_MAIN_APP_LOG_STARTUP_INFO/SPRING_MAIN_LOG_STARTUP_INFO/g 로 복구. 이후 모든 그룹 sweep 뒤 leftover/double-prefix sanity grep 을 강제 단계로 둠.
교훈 / Lesson
일괄 rename 은 치환 직후 sanity grep(잔존 구토큰 0 + double-prefix 0 + native 키 무손상)을 같은 명령에 묶어라. 치환 성공을 가정하지 말 것.
substring 기반 group prefix 치환은 "유지 대상 키가 그 substring 을 포함하는가"를 먼저 점검. 포함 시 word-boundary(perl -pe '(?<!APP_)\bLOG_') 또는 명시적 제외가 필요.
shell 이식성: 다중 파일 루프는 zsh/bash 차이를 피하려 절대경로 + 명시 인자 사용.