Files
Aislo/resources/tester/scratch/compare_split_vs_merged_lines.py
T

48 lines
3.1 KiB
Python

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]}")