나는 수출 파이프 라인을 찾게되었지만 고통 스러웠다. 그 일에 대한 나의 메모는 다음과 같습니다.
내보낼 때마다 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=preserve
pandoc가 출력 파일을 줄 바꿈 (기본값)으로 하드 랩핑하지 않도록 지시합니다. 다음 필드는 입력 파일 이름이며 -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
. 아니면 그냥 삭제할 수 있습니다. 새로운 파일 형식에 익숙해 질 때까지 변환 과정에서 발생한 것을 다시 참조하려는 경우 잠시 저장하는 것이 좋습니다. 중간 폴더로 이동하면 현재 위치를 잊고 단계를 반복 할 가능성이 무례합니다.
.docx
OneNote에서 내 보낸 각 파일 에 대해 9-14 단계를 반복하십시오 .
이제 각 탭마다 하나의 폴더가 있으며 .md
각 페이지마다 하나씩 별도의 파일이 많이 있습니다! 또한 media
OneNote 탭에 이미지가있는 각 하위 폴더에 폴더가 있습니다.
각 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
스크립트가 모든 파일을 재귀 적으로 처리하여 이상한 첫 줄이있는 파일 (파일 이름으로 변환되지 않음)과 다른 가장자리 경우에 오류가 발생하는 것을 볼 수 있습니다. 그러나 mv
in 명령 rename-files-to-first-line
은 argument로 실행되어 -n
파일을 덮어 쓰지 못하게합니다. 첫 줄이 비어 있거나 이상한 것이기 때문에 이름이 바뀌지 않는 메모가 몇 개있을 수 있지만, 그 몇 개의 파일을 수동으로 수정하면됩니다.
OneNote에서 깔끔하게 탈출하십시오.