コマンドラインから.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

最初の数字は行数、2番目の数字は単語数、3番目の数字は文字数です。

一度に 1 種類の計算のみを実行する場合は、次のことができます。

行数について

wc -l file.doc

単語数のため

wc -w file.doc

文字数について

wc -c file.doc

数字とファイル名が順番に表示されます。

おすすめ記事