ターミナルはおもにOSの機能を呼び出すシェルのコマンドを組み合わせるプログラミングやシステム管理領域のツールであったが、クラウドやSaaSに加えてAIというツール層も拡大するなかで、ターミナルの活用の幅は広がりそうだ。
テキストを編集・表示させる機能を持つターミナルでは、APIでクラウド側にある機能を呼び出し表示させたり、データをJSON形式で取得してそこから意味のある情報を正規表現で抽出したりといった使い方はもちろん、通常使っているSaaSの情報を効率的にローカルで扱えるように工夫することもできる。
○Word(.docx)ファイルを解凍してみる
たとえば、Wordである。多くのひな型や情報資産を持つWordはローカルにもクラウドにも保存しているケースが多いだろう。Wordの拡張子.docxは通常のままではcat(Get-Content)ではテキストをPowerShellターミナル上では開けない。ZIPアーカイブであるため文字化けして表示される。
これをzip解凍のexpand-Archiveコマンドで開くと
同名フォルダが解凍される。XMLなど複数のファイルの情報でWordが構成されていることがわかる。
○PowerShellスクリプトで手軽に本文を表示させる
解凍後のhinaフォルダの直下wordフォルダにのdocument.xmlをテキストエディタで開くと、本文が書き込まれたエリアがあるので、これを正規表現等でスプレイピングのように抜き出す方法もありそうだが、PowerShellでComオブジェクトを扱ったほうがスクリプトは簡単になる。
ファイルのパスをパラメータで入力、New-Object -ComObject Word.ApplicationでWordの情報をComオブジェクト経由で取得するには以下のようにする。
function wo
function wo {
param([string]$FileName)
$path = Join-Path $PWD $FileName
$word = New-Object -ComObject Word.Application
$doc = $word.Documents.Open($path)
$text = $doc.Content.Text
$text
$doc.Close()
$word.Quit()
}
これをnotepad $PROFILE で開いたプロファイルに記述しPowerShell上で. $PROFILEと入力して反映して関数コマンド化する。Wordオープンコマンドwoを入力してファイル名を渡すと
こうしておけば、PowerShellから移動せずに確認できるようになるのでコマンドを使ってコピーしたり必要な文面を自分のローカルDBにストックして別のSaaSで使ったりと使いまわせる。過去の資産が必要なのはAIだけではない。











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)