명령줄에서 .doc 또는 .docx 문서의 단어, 문자 또는 줄 수를 출력합니다.

명령줄에서 .doc 또는 .docx 문서의 단어, 문자 또는 줄 수를 출력합니다.

.doc 또는 .docx 파일로 가득 찬 폴더가 있습니다. 각 파일을 열지 않고도 각 파일에 몇 개의 단어(또는 작동하지 않는 경우 문자 또는 줄)가 있는지 알고 싶습니다. (사용 사례: 저는 완료하기 위해 매주 많은 수의 읽기 답변에 등급을 매겨야 하는 조교입니다.)

명령줄에서 이 작업을 수행할 수 있는 방법이 있나요? 궁극적으로 이 모든 것을 .csv 파일에 저장하고 싶습니다. 이 작업을 수행하기 위해 몇 가지 유틸리티를 다운로드하게 되어 기쁘게 생각합니다.

그게 중요하다면 저는 Arch Linux를 실행하고 있습니다.

답변1

죄송합니다. 처음에 이 코드를 추가하는 것을 잊어버린 것 같습니다.

cp -Rp doument_directory document_directory.orig

cd document_directory
for file in *
do
  docx2txt "${file}" > "${file}.txt" && mv "${file}.txt" "${file}.doc"
done

시스템에 docx2txt 유틸리티가 없으면 다음에서 다운로드할 수 있습니다.http://sourceforge.net/projects/docx2txt/

주의 사항: MS Word 문서의 줄 바꿈 형식은 UNIX의 줄 바꿈 형식과 다를 수 있습니다. 따라서 행 수가 정확하지 않을 수 있지만 다음과 같이 하면 원하는 작업을 수행할 수 있습니다.

 wc file.doc

다음과 같은 출력이 표시됩니다.

 28 377 1492

첫 번째 숫자는 줄 수, 두 번째 숫자는 단어 수, 세 번째 숫자는 문자 수입니다.

한 번에 한 가지 유형의 계산만 수행하려는 경우 다음을 수행할 수 있습니다.

행 수에 대해

wc -l file.doc

단어 수를 위해

wc -w file.doc

문자 수에 대해

wc -c file.doc

숫자와 파일 이름이 차례로 표시됩니다.

답변2

pandoc을 사용하라는 위에서 언급한 제안은 나에게 잘 맞았습니다.

pandoc foo.docx | wc

정확도는 MS Word에서 말하는 내용의 +/- 2 이내입니다.

관련 정보