2000年5月 8日(月)

Unix ことはじめ…16

 Unix 的なアプローチの一例をご紹介しよう。

 最大値を求めるために、ランダムに並んだ数字を、昇順に並べてみよう。昇順に並べかえるには sort コマンドを使う。

    $ sort suji
    1
    1
    1
    1
    2
    2
    4
    5
    8
    8
    $

 昇順に並べ替えたのだから、最大の数字は最後に表示されることになる。こうやって並べ替えた数字の一番最後の行だけを表示すれば、そのファイルに含まれている最大の数字を表示することができるはずだ。一番最後の行だけを表示するのには tail コマンドを使う。引数を指定しないと tail は最後の 10 行を表示する。ここでは最後の一行だけを表示したいので -1 オプションをつける。

    $ tail -1 suji
    1
    $

 sort と tail この二つのコマンドを組み合わせる (sort の出力を tail の入力にする) ことで、問題を解決することが可能になる。この組合せは "|" パイプを使えば簡単に実現できる。

    $ sort suji | tail -1
    8
    $

 意気込んではじめたのだけれども、途中間があきすぎて息切れしまった。申し訳無い。次のアイデアを練ってサボらず継続できるように頑張らなくては .... 。ではでは。