Linux・シェル4 択難易度 応用

n.txt には 3、10、2 が 1 行ずつ入っている。出力は?

sort n.txt | head -1

正答

  1. 2
  2. 3
  3. 10
  4. エラーになる

解説

sort はオプションなしだと各行を文字列として辞書順に比較する。10 は先頭文字が 1、2 は 2、3 は 3 なので 10 → 2 → 3 の順になり、head -1 で 10 が出る。数値として小さい 2 を先頭にしたいなら sort -n を付ける必要がある。この取り違えは件数やサイズを並べるときに頻発するため、数値列には必ず -n(降順なら -rn)を付ける。

参考: www.gnu.org

sortheadpipe

この問題を含む Linux・シェル のテストを制限時間つきで解く

Linux・シェルクイズへ