본문 바로가기

Tip

Apple Memo 에서 Obsidian 으로 자료를 옮길때 남아 있는 span tag 일괄 삭제

Apple Memo 에서 Obsidian 으로 자료를 옮길때 남아 있는 span tag 일괄 삭제

자료를 옮겼는데 아래와 같은 tag 들이 같이 넘어와 지우고 싶었는데 메모 갯수가 너무 많아 일일이 지우기 힘들어 python code를 만들어 봤습니다.

<span style="color:#a0a0a0ff;">12. 10. 9. 오후 1:39  [</span><u>Map</u><span style="color:#a0a0a0ff;">]</span>



여기서 span 으로 열리고 닫히는 부분만 삭제 하고 싶었습니다. Obsidian 으로 옮겨진 Apple memo 는 모두 md 라는 확장자의 파일로 저장 되기 때문에 아래 코드를 md 파일이 위치 한 곳에 저장 하고 실행 하면 md 파일을 하나 하나 읽어 style 태그를 제거하고 다시 저장을 하게 됩니다.

파이선 숙련자가 작성한 코드가 아니라 아래 코드를 활용 하실 때에는 꼭 자료 백업을 하고 실행 해 보시기 바랍니다.

import glob
import bs4

md_files = glob.glob("*.md")

def remove_span_tags(html):
    soup = bs4.BeautifulSoup(html, "lxml")
    for span in soup.find_all("span"):
        span.unwrap() # span 태그만 제거하고 텍스트는 그대로 남김
    return soup.get_text()


for md_file in md_files:
    with open(md_file, "r") as f: # 파일을 열어서 파일 핸들을 f에 저장
        content = f.read() # 파일 내용을 읽어서 content에 저장
        new_content = remove_span_tags(content) # content를 remove_span_tags 함수에 입력으로 넘겨줌

    with open(md_file, "w") as f:
        f.write(new_content)
반응형