docx2txt(0.7) - A pure python-based utility to extract text and images from docx files.
環境
Archlinux(on vagrant)
docx2txtをインストール
$ pacman -S docx2txt
# または
$ pip install docx2txt
# または
# $ apt install docx2txt # ubuntuなら
管理方法
概要
ここでは仮にXXX管理文書.docx
の差分を管理していくこととします。
docx形式はバイナリ形式なのでgit diff
コマンドなどでは差分表示してくれません。
docx2txt
はdocx形式をtxt形式に直してくれるので、そのtxtをgitに管理させていきます。
docx -> txt
$ docx2txt XXX管理文書_180514.docx
# XXX管理文書_180514.txtが生成される
まず、管理したいdocxファイルをdocx2txt
を使用してtxtファイルに書き下します。
txtをリネーム
$ mv -f XXX管理文書_1805??.txt XXX管理文書.txt
# 日付なしのマスターtxtファイルに上書きする
次に、gitで差分管理できるように管理するtxtファイル名に上書きします。上の例ではXXX管理文書.txt
の差分を見ていこうとしています。
mv
するときに、正規表現の'?'をうまく使うことで、日付が変わってもヒストリを汚さず、繰り返し同じコマンドが使用できます。
.gitignore
/old/
~*
スワップファイル~の無視とoldディレクトリの無視。
oldディレクトリはgit使えない人用に、古い日付のdocxをoldにコピーしておきます。古き良き管理方法...
cp XXX管理文書_1805??.docx old/
もっと良くするために、ハッシュタグつきでoldフォルダに保存すれば、
同じ日付で変更が重なってoldフォルダに重複ファイルが
コピーされることはなく、どのハッシュのdocxか(自分だけは)わかります。
時間も記録すればいいよな。gitのハッシュタグによる管理は複数の人が同時刻にcommitする可能性があるし、ファイルの微妙に変えられている可能性もあるからハッシュを見るわけで、ここで一人で管理するならハッシュ使わなくてもいいよね
cp XXX管理文書_1805??.docx old/XXX管理文書_1805??$(git rev-parse --short HEAD).docx
git rev-parse --short HEAD
はHEADのハッシュタグ最初の7文字を返してくれるコマンド。
git commit
最後にコミット
$ git add XXX管理文書_1805??.docx XXX管理文書.txt
$ git commit -m '課長の朱書き直した'
git diff
git diff
やtig
で差分表示するとXXX管理文書.txt
の差分が表示されます。