シェアする

シェルスクリプトでWordの文章を扱う技術

シェアする

どうも、パソコンインストラクターのアルバイトをしているオーカワです。

アルバイトでWord, Excelなどを教えていますが、基本的にWord,Excelが嫌いです。理由はいろいろありますが、一番は効率が悪いと思ってしまう所でしょうね。

勿論、教えている位なので、Excel,Wordには相当自信があります。


オーカワ
特にExcel方眼紙が嫌い

ExcelやWordなどで扱わなくてもいいものを、扱っている印象がありますね。


オーカワ
テキストファイルでいいじゃん...

スポンサーリンク




なぜシェルスクリプトで扱うのか?

僕がシェルスクリプトをよく使っているのが1番の理由です。

Wordが入っていないパソコンでもWordファイルを扱う事が出来るので重宝しています。

Wordが入っていても、立ち上げるのに1秒位かかるのが嫌で、基本使わないです(笑)

立ち上げに1秒もかかるなんて、ストレスマッハです。

WordにもWord VBAという便利なツールもあります。

僕はバイト柄使う事もありますが、好きではないですねー。少し使い勝手が悪い気もします。(勉強不足)

Wordファイルの中身

Wordのdocxファイルはzip圧縮されたXMLです。(有名かな?)

例えば、こんな感じの中身の

test.docx

test.docxというファイルを解凍した時はこんな感じです。

test.docxの中身

ちなみに、この中のdocument.xmlの中身はこんな感じです。

文字だらけでYABAI

たったあれだけの文章なのに、こんなにもデータがあるんです。いろいろ設定が書いてあります。

今回はこのdocument.xmlファイルを扱います。

document.xmlから文章だけを抜き出してテキストファイルを作成する

例えば、test.docxの中身を知りたい時はこんな感じで取り出します。

*gsedはMac限定です。GNU sedを使いますので......。

*Ubuntuなどはsedでお願いします。

基本的にこのシェル芸で綺麗に取り出せます。

なにこれキモイ

いちいち名前を指定するのは大変なので、コマンドを作ってみました。

このコマンドはWordファイルから、テキストファイルを作成します。

例えばtest.docxを引数にした場合、test.txtが作成されます。

コマンドの応用

例えば、フォルダに4つのWordファイルがあっても、簡単にテキストファイルが出来ます。

素晴らしいシェル芸だ

簡単ですね。

テキストファイルの応用

テキストファイルにする事で扱いやすくなります。

例えば、こんにちはって書いてあるファイルを探したい時

grepは便利

例えば、うんこと書いてある回数を数えたい時

-cはcountの略

いくらでも応用例はありますが、テキストファイルにするメリットは沢山ありますね。

Wordでしか扱えなかったファイルが、色々なアプリで扱えるようになります。

まとめ

  • Wordファイルはzip化されたxmlファイル
  • シェルスクリプトでxmlファイルからtxtファイルを作成
  • txtファイルで圧倒的成長

今回は以上です。それではお疲れさまでした~。

雑記

Excelは嫌いですが、変なこともしています。

Excelは何でも出来るので、ネタになります。もちろん非効率です(笑)

The following two tabs change content below.

オーカワ

ロボット勉強中の大学4年生!!いつもはTwitterにいるよ。フォローちてね♪
オーカワ専用のブログ作りました。よろしくお願いします。
スポンサーリンク







シェアする

フォローする