例題 1いま,データファイル ex1.txt の中に整数がいくつか記録されている (一行に一つずつ).この中からの最大値を見つけ出して出力しなさい. ※データファイル ex1.txt は上のリンクを右クリックし, 「名前を付けて保存」を選んでダウンロードすること. 解答例sort -n ex1.txt | tail -n 1 解説ここでは二つのコマンドが登場している:
sort -n ex1.txt | tail -n 1
これにより,ex1.txt の内容を数値と見なして(-n
オプション)昇順にソートして出力する.
(2)ここで,sort コマンドの結果を画面に出力するのではなく, 別のコマンドの入力へ直接流し込む:
sort -n ex1.txt | tail -n 1
記号 "|" はコマンド間でのデータの
パイプ
役を果たしている.
(3)最後にパイプ経由で流れてきたデータの末尾の 1 行だけ(-n 1 オプション)を出力する:
sort -n ex1.txt | tail -n 1
tail コマンドの入力として流れ込んでくるデータは,先に sort
コマンドによって昇順(大きい順)に並べ替えられているため,
最後の一行には最大値が登場するようになっている.
ゆえに,上の解答例に示したコマンド列を実行すると, ex1.txt の中の最大値のみが画面に出力される. |