Word(docx)用sedを改良してしもうた。

Pocket
LINEで送る

昨日からの続編です。Word版sedを作る話。

やっぱりsedはsedらしくということで、

  • 標準入力からファイルを読む
  • sedのコマンドがそのまま使えるようにする

というように改変しました。https://github.com/ryuichiueda/ShellOfficeToolsで公開しております。

続きを読む Word(docx)用sedを改良してしもうた。

Pocket
LINEで送る

Word(docx)用sedを作ってしもうた。

Pocket
LINEで送る

続編アリ(2014/4/23)

クリエイチビチーが止まりません。上田です。

お昼ごはんの蕎麦を食いながら昼休みの間に「ワードファイルの文字列を改ざんするコマンド」を作りましたので公開をば。本の一部にするので遊んでいるわけではない、遊んでいるわけではないと、自分に言い聞かせながら・・・。

続きを読む Word(docx)用sedを作ってしもうた。

Pocket
LINEで送る

ワードシェル芸?の方法。

Pocket
LINEで送る

もう、やり方だけ。環境はUbuntu。hxselectで要素を指定するときに、コロンをエスケープするというのでちょっとはまった。

###docxことzipファイルの中はこんな感じ。###
###文章の内容はword/document.xml###
###画像はjpegがそのまま入っている###
Archive:  self_introduction.docx
  Length      Date    Time    Name
---------  ---------- -----   ----
     1871  1980-01-01 00:00   [Content_Types].xml
      590  1980-01-01 00:00   _rels/.rels
     1484  1980-01-01 00:00   word/_rels/document.xml.rels
     4835  1980-01-01 00:00   word/document.xml
     1789  1980-01-01 00:00   word/footnotes.xml
     1783  1980-01-01 00:00   word/endnotes.xml
    21556  1980-01-01 00:00   word/media/image1.jpeg
     7561  1980-01-01 00:00   word/theme/theme1.xml
     4193  1980-01-01 00:00   word/settings.xml
    49341  1980-01-01 00:00   word/stylesWithEffects.xml
    48475  1980-01-01 00:00   word/styles.xml
     1021  1980-01-01 00:00   docProps/app.xml
     3484  1980-01-01 00:00   word/fontTable.xml
     8773  1980-01-01 00:00   word/numbering.xml
      871  1980-01-01 00:00   word/webSettings.xml
      713  1980-01-01 00:00   docProps/core.xml
---------                     -------
   158340                     16 files
###おりゃ###
ueda@remote:~$ unzip -p self_introduction.docx word/document.xml | hxselect 'w\:t' | sed 's;</w:t>;&\n;g'
<w:t>自己紹介</w:t>
<w:t xml:space="preserve"> </w:t>
<w:t>【氏名】漢字)上田 隆一</w:t>
<w:t xml:space="preserve">    ローマ字)</w:t>
<w:t>Ryuichi Ueda</w:t>
###画像はふつうに抽出###
ueda@remote:~$ unzip self_introduction.docx word/media/image1.jpeg
Archive:  self_introduction.docx
 extracting: word/media/image1.jpeg 

以上。わーどうしましょう。

Pocket
LINEで送る