Excelファイルをシェル芸でほじくる。(hxselect編)
Thu Mar 27 20:10:08 JST 2014 (modified: Sun Oct 1 10:50:27 JST 2017)
views: 3008, keywords:コマンド,CLI,html-xml-utils,hxselect,jq,元ショッカー,シェル芸,エクシェル芸 この記事は最終更新日が7年以上前のものです。
昨日これを書いた後思い出したのですが、実はxmlを捌くのにもっと便利なコマンドがあるので、これを使ってもう一回やってみます。
まず、こんなふうにhtml-xml-utilsをインストールします。
###Mac###
uedambp:~ ueda$ brew install html-xml-utils
###Ubuntu###
root@remote:~# apt-get install html-xml-utils
んで、昨日の記事では「c」という要素を無理矢理grepで引っ張りだしてましたが、hxselectというコマンドを使うと脳みその負荷が大幅に減ります。
ueda@remote:~/tmp$ cat xl/worksheets/sheet1.xml | hxselect c
<c r="A1"><v>1</v></c><c r="A2"><v>2</v></c><c r="A3"><v>3</v></c><c
r="A4"><v>-4.2300000000000004</v></c>ueda@remote:~/tmp$
ueda@remote:~/tmp$ cat xl/worksheets/sheet1.xml | hxselect c |
sed 's;</c>;&\\n;g'
<c r="A1"><v>1</v></c>
<c r="A2"><v>2</v></c>
<c r="A3"><v>3</v></c>
<c r="A4"><v>-4.2300000000000004</v></c>
もう、どれだけビールを飲んでも仕事できそうなくらい簡単です(本当か?)。
あとは昨日の記事をご参考に。
似たようなものに、JSON形式を捌くjqというコマンドもありますので、ウェブな方もぜひシェル芸を極めていただきたく。
しかし、エクセルネタは書きたいことが山ほどある・・・。元SIer戦闘員(歩兵すなわちショッカー)としてエクセルと戦って毎回死んだ経験がフルに生かされている・・・。
ところで、SIerのプログラマーのことをハッカーと対比してショッカーとか言ってしまっているが無用な恨みを買いそうである。いや、身内意識が強いので・・・。
さて、家事の続きを・・・。