마크다운 파일에서 모든 단어 계산 ~ CLI

꽤 오래 전에 친한 친구이자 동료가 내가 얼마나 많은 단어를 썼는지 아느냐고 물었다.

그리고 800개 이상의 기사에 있지만 이것이 얼마나 많은 단어인지 전혀 몰랐습니다.

그래서 나는 그에게 답을 줄 해결책을 찾기로 결심했고 나 자신(그리고 어쩌면 당신도?)

이 솔루션은 가장 간단한 방법인 명령줄 인터페이스(CLI)를 사용합니다.
향후 기사에서는 다른 솔루션에 대해 알아볼 수 있습니다.

마크다운 파일의 CLI 카운트 단어



첫 번째 단계는 일부 텍스트의 단어 수를 세는 것입니다. 운 좋게도 Unix에는 wc(단어 수)라는 이 명령이 이미 있습니다.

이를 사용하려면 다음과 같은 명령을 사용하면 됩니다.

wc -w <<< "Some random words"


이 문자열에는 3개의 단어가 있으므로 3을 출력해야 합니다.



이제 단어 수를 세는 방법을 알았으므로 마크다운 파일에서 실제 콘텐츠를 추출하는 방법이 필요합니다.

여러 Unix 마크다운 파서가 있습니다. 좋아하는 것이 있으면 그것을 사용할 수 있습니다. 그렇지 않으면 pandoc 를 사용하는 것이 좋습니다.

아직 가지고 있지 않다면 Homebrew 으로 설치할 수 있습니다.

brew install pandoc


그런 다음 이를 사용하여 다음과 같은 마크다운 파일을 읽을 수 있습니다.

pandoc --strip-comments -t plain {your-markdown}.md


명령에는 마크다운에서 모든 HTML 주석과 주석을 제거하는 --strip-comments 명령이 포함됩니다.
그리고 -t는 변환 대상을 정의하는 매개변수로, 이 경우에는 plain 텍스트입니다.

마크다운 파일 중 하나에서 이것을 실행하면 다음과 같은 결과가 나타납니다.



이제 이 단어들을 어떻게 빨리 셀 수 있을까요?
pandocwc 명령을 한 줄로 결합할 수 있습니다.

pandoc --strip-comments -t plain {your-markdown}.md | wc -w


그러면 해당 문서의 단어 수가 나옵니다!



꽤 멋져! 이제 우리는 단일 마크다운 파일에서 모든 단어를 세는 방법을 알고 있습니다.

모든 마크다운 파일에서 모든 단어 검색



이제 우리는 그것이 어떻게 이루어졌는지 알았으니, 진짜 질문은 총 몇 단어를 썼느냐입니다.

이에 답하려면 모든 마크다운 파일에서 모든 단어를 세어야 합니다.

아니요, 각 파일에 대해 이 명령을 실행하고 각 출력을 추가하고 싶지 않습니다.

따라서 이 작업을 수행하기 위해 find 명령을 활용하여 .md 확장자로 끝나는 모든 파일을 찾을 수 있습니다.

find . -iname "*.md"


이렇게 하면 현재 폴더 구조에 있는 모든 마크다운 파일 목록이 생성됩니다.

위의 두 명령을 이 찾기 명령과 결합하여 모든 단어를 계산할 수 있습니다. (파일 수에 따라 다소 시간이 걸릴 수 있습니다.)

find . -iname "*.md" | xargs pandoc --strip-comments -t plain | wc -w




와, 벌써 416006단어를 썼네? 그건 미친 짓이야.

당신이 나와 같은 사람이라면 얼마나 많은 책이 나올지에 대한 질문이 떠오를 것입니다.

그리고 빠른 구글은 "성인 소설의 평균 단어 수는 70,000에서 120,000 단어 사이입니다."라고 표시합니다.

이것은 내가 이미 네 편의 소설을 썼다는 것을 의미합니까?

내 마음이 날아 갔다 🤯.

읽어주셔서 감사합니다. 연결합시다!



제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나

좋은 웹페이지 즐겨찾기