t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

良書 UNIXという考え方 ~コマンドラインの長所

今回は私の愛読ブログ(定時にカエルVBA!閉鎖)の主であるコーヘーさんのツイートに触発されての記事。

氏いわく、

コマンドラインの良さがわかってきた!

とのこと。

そういえば私も一時期自宅でリナックスをメインに使っていてどっぷりコマンドの魅力にはまったことがある。
そのきっかけになったのがこちらの本。

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

コマンドラインGUIより優れている点や、UNIXWindowsのシステムの思想の違いなどが書かれていて非常に面白い。
UNIXLinuxなど知らなくても面白く読めて、自分が作るツールの設計にも影響を与えてくれた良書である。

たしか、Windowsは機能満載の巨大なアプリケーションを作りがちなのに対し、UNIXにはシンプルで堅牢な、ひとつのことだけをする小さなツールが用意されており、それらを組み合わせて使うといったことが書かれていた。

GUIの場合、Excelが吐き出した結果を別のWebシステムにコピペで移動し、それをまた電卓で処理したり。。というふうに、基本的に別のアプリ同士の連携は手動になることが多い。
これってつまり、いちいち人間が仲介する必要があるということ。

人間→入力→アプリA
人間←結果←アプリA
人間→入力→アプリB
人間←結果←アプリB
人間→入力→アプリC
人間←結果←アプリC

コマンドだと、プログラム同士で勝手にやってくれる。
あるコマンドの出力がそのまま別のコマンドの入力になる。

人間→入力→コマンドA→コマンドB→コマンドC
人間←結果←コマンドC

例えば、再帰的にフォルダをリストアップし、結果から"xlsx"を含むファイルだけを昇順ソートして1ページずつ表示させるWindowsのコマンドは、以下のとおり。

dir /s /b | find "xlsx" | sort | more

人間→入力→Dirコマンド→Findコマンド→Sortコマンド→Moreコマンド
人間←結果←Moreコマンド

ほら、すばらしい連携プレー。

これがUNIXだと、もっと鮮やか。。という話。

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。