シェルスクリプトマガジン

特集 無いものは作れTukubai 流コマンド自作文化(後半・本誌vol.7掲載)

その5.dayslash コマンド

これは淘汰されたコマンドではなく、将来Tukubai コマンドへ追加すべき候補として現在有力視されているものだ。8 桁の年月日文字列(YYYYMMDD)を与えると年と月と
日の間にスラッシュ(/)を挿入するというものだという。

(編注:2017年現在のTukubaiコマンド群には実際にdayslashコマンドが含まれています。)

使い方と動作例

例えば第1 フィールドに年月日、第2 フィールドにその日が誕生日である人の名前が書いてあるファイル(birthdays.txt) があったとする。
これを、第一フィールドを“yyyy/mm/dd” というフォーマットに直したい旨を示したdayslash コマンドに与えると、年月日の間にスラッシュが入る。

道具になれるかもしれない理由とは

確かに、YYYYMMDD 形式の年月日値にスラッシュを挿入するだけならAWK でだってできる。

それでもこのコマンドが有力視されているのはこのようにして日付フォーマットを変更したいという需要が多く、その度にこのような長いAWK の記述を強いられるのが苦痛だからだという。
しかし、そういう思いでこれまでいくつものコマンドが作り出され、消えていった。果たしてこのコマンドは、そんな淘汰の波を乗り越え、将来Tukubai コマンドに追加されることになるのか、注目してみたい。
コマンドは、臆さず作れ。大人気ない大人にならぬ為に今でこそ道具の何たるかを語っているUSP 研究所も実は、こんなふうにして色々と知られざるコマンドを作っていた。機能として洗練されていなかったり、或いはソースコードの書かれ方として洗練されていなかったり……。そんなものを公開するのは恥ずかしいとも言われたたが、お願いして今回それらを敢えて公開してもらった。編集部としては、コマンド自作の文化を広めるには必要なことだと考えたからだ。
当たり前のことだが、初めから洗練された道具など誰にも作れない。茶道で用いる茶筌も、一人前に作れるまでに10年以上かかるという(→ 24 ページ記事)。プログラミングとて同じであり、コマンド自作によるシステム構築法であるTukubai もまた然りである。

コマンドは、臆さず作れ。大人気ない大人にならぬ為に

様々な言語でプログラミングを慣れ親しむのと全く同じようにして、Tukubai にも慣れ親しんでもらいたい。即ち、「コマンド自作」を特別視せず気軽に始めてもらいたい。これこそが、真にUnix を使いこなすということなのだから。
最初はそれで、不恰好なものが出来ることだろう。しかし気にすることはなど全く無い。手を動かさなければ、いつまでたっても大人気ないコードを生みだすプログラマーを卒業することはできないのだ。