Windows Dev. Site

Auto Generated Example-Driven Parsing

こんなことができるコマンドがPowerShellにあるとは知りませんでした。
任意のテキストをある規則性に基づいて自動的に整形してくれるものです。
規則については元のテキストの一部を利用してテンプレートをつくるだけです。

decodeブログ(http://decode.red/blog)のフィードを使ってテストをしてみました。

環境: PowerShell 5.0 / Windows 10
feed.txt

Geohash
2015年12月4日 23:51
ジオコード(地理座標)の一つで、緯度と経…
Entropy
2015年11月2日 23:04
エントロピーという熱力学で使われる概念は…
Haskell for Mac
2015年10月17日 16:08
関数型言語Haskellに、Xcodeの…
FPGA & GPU/OpenCL
2015年9月13日 13:22
インテルによるアルテラ買収のニュースは、…
Word Cloud / D3.js
2015年8月30日 19:36
前回のword2vecで利用したテキスト…
Word To Vector
2015年8月23日 18:05
以前から気になっていたword2vecを…
Signal Processing Toolkit
2015年7月8日 23:16
音声データをコマンドツールだけで処理でき…
Mathematica / Raspberry Pi 2
2015年6月27日 22:13
あのRaspberry Pi 2をようや…
Multi Layer Perceptron
2015年5月17日 22:13
ニューラルネットワークが簡単に実装できる…
Evaluate Code
2015年5月2日 13:24
コードを文字列データとして与え、プログラ…

これの一部を使って作ったのが下のテンプレートで、以下コマンドを実行します。

$templ=@’
{title*:Geohash}
{date:2015年12月4日} {time:23:51}
{description:ジオコード(地理座標)の一つで、緯度と経…}
{title*:Signal Processing Toolkit}
{date:2015年7月8日} {time:23:16}
{description:音声データをコマンドツールだけで処理でき…}
‘@

Get-Content .\feed.txt | ConvertFrom-String -TemplateContent $templ | Format-Table -AutoSize title, date, time, description

テンプレートの選び方によって結果も違ってくるので、いろいろと試す必要はあります。
実行結果
powershell01

なかなか面白いです。
ひさびさのPowerShellでした。やはりPowerShellいいですね。

参考:

http://www.powershellmagazine.com/2014/09/09/using-the-convertfrom-string-cmdlet-to-parse-structured-text/