import os, sys, re sys.stdout.reconfigure(encoding='utf-8') merged_path = 'resources/knowledge/original/원가계산/건설공사_표준품셈/2026년_건설공사_표준품셈.md' with open(merged_path, 'r', encoding='utf-8') as f: text_merged = f.read() target_files = [ ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제1장_도로포장공사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제2장_하천공사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제3장_터널공사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제4장_궤도공사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제5장_강구조공사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제6장_관부설및접합공사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제7장_항만공사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제8장_지반조사.md'), ('02_토목부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제9장_측량.md'), ('05_유지관리부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제1장_공통.md'), ('05_유지관리부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제2장_토목.md'), ('05_유지관리부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제3장_건축.md'), ('05_유지관리부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제4장_기계설비.md'), ('04_기계설비부문', 'resources/knowledge/original/원가계산/건설공사_표준품셈/04_기계설비부문/제13장_플랜트설비공사.md'), ] print("=== Checking Substantive Lines in Split Files vs Merged File ===") for part, fpath in target_files: fname = os.path.basename(fpath) with open(fpath, 'r', encoding='utf-8') as f: split_lines = [l.rstrip() for l in f.readlines()] missing_in_merged = [] checked_count = 0 for idx, l in enumerate(split_lines): l_str = l.strip() if not l_str or l_str.startswith('#') or l_str.startswith('> 원문:'): continue # Table rows or section headers checked_count += 1 if l_str not in text_merged: missing_in_merged.append((idx+1, l_str)) print(f"[{fname}] Checked lines: {checked_count}, Missing in merged: {len(missing_in_merged)}") if missing_in_merged: for l_no, l_str in missing_in_merged[:5]: print(f" L{l_no}: {l_str[:80]}")