.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 이내입니다.