これは淘汰されたコマンドではなく、将来Tukubai コマンドへ追加すべき候補として現在有力視されているものだ。8 桁の年月日文字列(YYYYMMDD)を与えると年と月と
日の間にスラッシュ(/)を挿入するというものだという。
(編注:2017年現在のTukubaiコマンド群には実際にdayslashコマンドが含まれています。)
例えば第1 フィールドに年月日、第2 フィールドにその日が誕生日である人の名前が書いてあるファイル(birthdays.txt) があったとする。
これを、第一フィールドを“yyyy/mm/dd” というフォーマットに直したい旨を示したdayslash コマンドに与えると、年月日の間にスラッシュが入る。
1 2 3 4 5 6 7 8 9 |
> cat birthdays.txt 19410809 Alfred_Vaino_Aho 19420101 Brian_Kernighan 19420806 Peter_Jay_Weinberger > dayslash yyyy/mm/dd 1 birthdays.txt 1941/08/09 Alfred_Vaino_Aho 1942/01/01 Brian_Kernighan 1942/08/06 Peter_Jay_Weinberger > |
確かに、YYYYMMDD 形式の年月日値にスラッシュを挿入するだけならAWK でだってできる。
1 2 3 4 5 6 |
> awk '{print substr($1,1,4) "/" substr($1,5,2) "/" substr($1,7,2), $2}' birthdays.txt 1941/08/09 Alfred_Vaino_Aho 1942/01/01 Brian_Kernighan 1942/08/06 Peter_Jay_Weinberger > |
それでもこのコマンドが有力視されているのはこのようにして日付フォーマットを変更したいという需要が多く、その度にこのような長いAWK の記述を強いられるのが苦痛だからだという。
しかし、そういう思いでこれまでいくつものコマンドが作り出され、消えていった。果たしてこのコマンドは、そんな淘汰の波を乗り越え、将来Tukubai コマンドに追加されることになるのか、注目してみたい。
コマンドは、臆さず作れ。大人気ない大人にならぬ為に今でこそ道具の何たるかを語っているUSP 研究所も実は、こんなふうにして色々と知られざるコマンドを作っていた。機能として洗練されていなかったり、或いはソースコードの書かれ方として洗練されていなかったり……。そんなものを公開するのは恥ずかしいとも言われたたが、お願いして今回それらを敢えて公開してもらった。編集部としては、コマンド自作の文化を広めるには必要なことだと考えたからだ。
当たり前のことだが、初めから洗練された道具など誰にも作れない。茶道で用いる茶筌も、一人前に作れるまでに10年以上かかるという(→ 24 ページ記事)。プログラミングとて同じであり、コマンド自作によるシステム構築法であるTukubai もまた然りである。
様々な言語でプログラミングを慣れ親しむのと全く同じようにして、Tukubai にも慣れ親しんでもらいたい。即ち、「コマンド自作」を特別視せず気軽に始めてもらいたい。これこそが、真にUnix を使いこなすということなのだから。
最初はそれで、不恰好なものが出来ることだろう。しかし気にすることはなど全く無い。手を動かさなければ、いつまでたっても大人気ないコードを生みだすプログラマーを卒業することはできないのだ。