나는 수출 파이프 라인을 찾게되었지만 고통 스러웠다. 그 일에 대한 나의 메모는 다음과 같습니다.
내보낼 때마다 OneNote에서 긴 OneDrive 동기화를 수행하지 않도록 네트워크를 끕니다.
노트북 목록에서 노트북을 확장하면 모든 탭이 표시됩니다.
탭을 마우스 오른쪽 버튼으로 클릭하고 "내보내기 ..."를 클릭하십시오.
파일 형식 드롭 다운을 클릭하고을 M눌러 .docx형식 을 선택하십시오 . 눌러서 Enter선택하십시오.
Enter다시 누르면 내 보낸 파일이 저장됩니다.
노트북의 각 탭에 대해 2-5 단계를 반복하십시오.
pandoc을 설정하고 PowerShell 또는 cmd 창을 엽니 다.
내 보낸 .docx파일이 있는 디렉토리로 cd하십시오 .
내 보낸 각 .docx파일에 대해 다음 pandoc 명령을 사용하여 파일을 마크 다운으로 변환 journal하십시오 (파일 이름으로 대체 ).
pandoc --extract-media='' --wrap=preserve '.\journal.docx' -o journal.md
명령에 대한 설명은 다음과 같습니다. --extract-media=''pandoc가 .docx파일 에서 이미지를 추출 하여 기본 하위 폴더 (기본적으로 'media')에 넣도록 지시 합니다. --wrap=preservepandoc가 출력 파일을 줄 바꿈 (기본값)으로 하드 랩핑하지 않도록 지시합니다. 다음 필드는 입력 파일 이름이며 -o'출력'을 나타내며 journal.md출력 파일 이름도 나타냅니다.
이 파일을 분할하지 않으려면 (예 : 탭에 한 페이지 만 포함 된 경우) 15 단계로 건너 뜁니다.
(이러한 작업을 수행 할 때 ↑(위쪽 화살표) 키를 누르면 셸에서 이전 명령을 호출 한 다음 파일 이름을 편집 할 수 있습니다.)
탭에 페이지를 저장할 새 폴더를 작성하십시오. 이 예에서는 지금 OneNote의 업무 일지 탭에있는 모든 페이지가에서 으깬 것입니다 journal.md. journal최종 분리 페이지를 개별 .md 파일로 저장할 폴더를 만듭니다 .
.docx파일에 이미지가 있으면이 폴더는이라는 새 폴더로 내보내집니다 media. 미디어 폴더가 있으면 지금 만든 폴더로 끌어다 놓습니다. (따라서 각 내보내기는 별도의 미디어 폴더를 생성하고 마크 다운 파일의 링크가 올바르게 작동하도록 별도의 미디어 폴더를 생성하기 때문에 각 pandoc 작업을 별도로 수행해야하는 이유입니다. 노트북이 많지 않으면 자동으로 수동으로 수행하는 데 시간이 덜 걸립니다. (참고 : 이미지가있는 파일 의 경우 --extract-media=''인수 의 작은 따옴표 안에 원하는 .docx폴더 이름을 넣어서 단계를 저장할 수 있습니다 . 폴더가 자동으로 생성됩니다.)
bash 터미널을 열고 .md파일을 포함하는 디렉토리로 cd 하십시오. 10 단계에서 만든 폴더는이 폴더의 하위 폴더 여야합니다 (다음 명령에서 경로를 수정하지 않는 한).
아직 설정하지 않았다면 Windows Bash 창 아이콘을 클릭하고 속성을 클릭하고 빠른 편집 모드를 선택한 다음 확인을 클릭하십시오. 이제 Windows Bash 창 아이콘을 다시 클릭하십시오. 이번에는 Defaults를 클릭하고 QuickEdit Mode를 선택한 다음 OK를 클릭하십시오. 이제 터미널에서 텍스트를 선택하고 Ctrl+ C를 눌러 복사하거나 터미널 창을 마우스 오른쪽 단추로 클릭하여 클립 보드에 텍스트를 붙여 넣을 수 있습니다. 이제 별도의 위치에서 명령을 준비하고 각 버전을 Bash에 빠르게 붙여 넣을 수 있습니다.
다음 명령을 사용자 정의하고 .md개별 페이지로 분할하려는 각 파일 에 대해 실행하십시오 .
csplit ./journal.md --keep-files --prefix='journal/journalentry '
--suffix-format='%i.md' --elide-empty-files '/^\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\),/-2' '{*}'
한 줄로 입력하십시오.
보시다시피, journal.md마크 다운 파일의 이름은 (현재 디렉토리에서로 표시 ./), 두 번째로 나타나는 journal(after --prefix=')는 분할 된 파일을 포함 할 하위 폴더의 이름이며 journalentry각 파일의 이름은 (색인 번호가 뒤 따름).
명령을 이해하려면 여기에 설명이 있습니다. --keep-files오류나 파일 끝이 발견 될 때 파일을 인쇄하여 마지막 페이지가 올바르게 출력되는지 확인하십시오 (정규 표현식의 패턴으로 끝나지 않기 때문에). --prefix출력 파일의 이름 지정 체계를 설정합니다. --suffix-format파일 확장자를 설정할 수 .md있지만 ( 이 경우) %i파일의 색인 번호를 출력하는 sprintf 문을 포함시켜야 합니다. --elide-empty-files우리가 신경 쓰지 않는 빈 파일의 출력을 건너 뜁니다. 끝으로 시작 '/하고 끝나는 정규식/-2', 파일 분할시기를 정의합니다. "줄 시작 부분에서 (/)를 찾은 경우 (^) 다음 (() 월요일 또는 (\ |) 화요일 또는 수요일 또는 목요일 또는 금요일 또는 토요일 또는 일요일 () ) 다음에 쉼표를 입력하고 두 줄 뒤로 (-2) 뒤로 물러나서 파일을 분할하여 지금까지의 내용을 출력합니다. 마지막 비트 '{*}'는 파일 끝에 도달 할 때까지 이전 명령을 무기한 반복합니다.
.docx및 .md파일을 폴더 (예 : 지금 만든 폴더)로 드래그합니다 intermediates. 아니면 그냥 삭제할 수 있습니다. 새로운 파일 형식에 익숙해 질 때까지 변환 과정에서 발생한 것을 다시 참조하려는 경우 잠시 저장하는 것이 좋습니다. 중간 폴더로 이동하면 현재 위치를 잊고 단계를 반복 할 가능성이 무례합니다.
.docxOneNote에서 내 보낸 각 파일 에 대해 9-14 단계를 반복하십시오 .
이제 각 탭마다 하나의 폴더가 있으며 .md각 페이지마다 하나씩 별도의 파일이 많이 있습니다! 또한 mediaOneNote 탭에 이미지가있는 각 하위 폴더에 폴더가 있습니다.
각 OneNote 전자 필기장을 .mht파일 (단일 파일 웹 페이지) 또는 원하는 경우 a로 내보내는 것이 좋습니다 .pdf. 이렇게하면 다중 변환으로 인해 일부 마크 다운 파일에 서식이나 기타 정보가 손실 된 경우 언제든지 되돌아 가서 .mht파일 에서 어떻게 보이는지 쉽게 확인할 수 있습니다 . 또한 각 OneNote 전자 필기장을 .onepkg파일 (OneNote 패키지) 로 내보내는 것이 좋습니다 . 따라서 기본 / 원래 파일 형식으로 전자 필기장을 OneNote에서 다시 열려면 멋진 최종 내보내기 복사본이 있어야합니다. 예를 들어 .mht파일에 복구하려는 일부 원래 형식이 누락 된 경우).
각 전자 필기장이 끝나면 OneNote에서 전자 필기장을 마우스 오른쪽 단추로 클릭하고 "이 전자 필기장 닫기"를 클릭하여 실수로 전자 필기장을 편집하지 않고 새 변경 내용을 다시 내 보내야합니다. 마크 다운 폴더의 경우 각 전자 필기장에 대한 폴더를 만들고 모든 탭 폴더를 넣었습니다.
전체 내보내기 프로젝트를 마치면 OneDrive로 이동하여 동기화 된 모든 OneNote 전자 필기장 원본을 삭제할 수 있습니다 (물론 지금 자신의 파일을 백업하고 있는지 확인하십시오! Linux 용 OneDrive가 있거나 동기화와 같은 것을 시도 할 수 있습니다).
마지막으로 두 개의 스크립트를 사용하여 모든 .md 파일의 이름을 각 파일의 첫 줄인 OneNote 페이지 제목으로 바꿀 수 있습니다. 다음 파일을 작성하십시오.
파일 1 : ~/scripts/rename-files-to-first-line.sh
for i in *md ; do mv -n "$i" "$(cat "$i"|head -n1|tr -d '\000-\037[]{}()/\?*')".md; done
파일 2 : ~/scripts/recurse.sh
CDIR=$(pwd)
for i in $(ls -R | grep :); do
DIR=${i%:} # Strip ':'
cd $DIR
$1 # Your command
cd $CDIR
done
그런 다음 메모 폴더로 이동 recurse.sh하여 rename-files-to-first-line.sh명령을 인수로 사용하여 명령을 실행하십시오 .
$ ~/scripts/recurse.sh ~/scripts/rename-files-to-first-line.sh
스크립트가 모든 파일을 재귀 적으로 처리하여 이상한 첫 줄이있는 파일 (파일 이름으로 변환되지 않음)과 다른 가장자리 경우에 오류가 발생하는 것을 볼 수 있습니다. 그러나 mvin 명령 rename-files-to-first-line은 argument로 실행되어 -n파일을 덮어 쓰지 못하게합니다. 첫 줄이 비어 있거나 이상한 것이기 때문에 이름이 바뀌지 않는 메모가 몇 개있을 수 있지만, 그 몇 개의 파일을 수동으로 수정하면됩니다.
OneNote에서 깔끔하게 탈출하십시오.