というのが、プログラマの美徳だそうです。僕はプログラマじゃないけど、楽をするのはもちろん大好きだ(←仕事しろ)。
今作成している顧客への納品物のなかに、ものすごーく作成するのが面倒くさい資料がある。コマンドの実行結果や設定ファイルの中身を、EXCELの表に貼り付けるというもの。その数、1台につき数百項目。サーバが十台とかになると死ねます。
やっていることは、ひたすらコピペの単純作業。こういう作業こそパソコンにやらせるべき!
まず、EXCELの表を元にして、取得したい情報を一ファイルにまとめるためのスクリプトを作成した。このスクリプトの作成には秀丸マクロを使った。普段は単なるメモ帳として使っている秀丸だけど、マクロを使った整形機能は強力です。しかも、キー操作を記録してベースとなるマクロを作れるので、僕のように「プログラミングって何?」な人間でも簡単に作ることができる。
次に、サーバから取得したデータをcygwin上に持って行って、先ほど作成したスクリプトで処理する。テキストの処理は、やっぱりWindowsよりUNIXの方が便利だ。Windows上でUNIXコマンドが使えるcygwinは、何かと重宝してます。
処理結果として出力されたテキストファイルは、別の秀丸マクロで整形し、今度はCSVファイルとして保存する。そして、それをEXCELに喰わせる。実はここが一番苦労した。一項目が一つのセルに綺麗に収まるようなCSVファイルが、なかなか作れなかったのだ。
一旦EXCELに取り込めたら、あとは目的のシートにぺろーんと貼り付けるだけ。これで資料の作成は完了。普通に作ると数時間はかかる資料が、数分で完成した。めっちゃ感動した。
問題は、このしょぼいマクロやスクリプトを作るのに一日かかったことなのねん・・・(プログラマな人なら数分で作れるはず)。まさしく、楽をするために苦労したって感じです。
「どうやったら楽できるだろう?」と考えることは、創造性があってとても楽しい。また、Try & Errorを繰り返して作成したスクリプトが、ようやく意図した通りの動きをしてくれたときには本当に感動する。プログラマという職業は、きっととても素晴らしい職業に違いないと思ったのでした。