LinuCレベル1 101試験の例題と解説

主題1.03GNUとUnixのコマンド

1.03.2フィルタを使ったテキスト ストリームの処理

このエントリーをはてなブックマークに追加

今回は101試験の試験範囲から、「1.03.2 フィルタを使ったテキストストリームの処理」についての例題を解いてみます。

Linucレベル1 101試験 出題範囲


例題

下記コマンドの説明として誤っているものを選択してください。

コマンド:sort -t : -k 3 -n -r /etc/passwd | head -n 5
  1. sortコマンドは、一行を「:」で区切り、3番目のフィールドでデータをソートしている
  2. sortコマンドの出力をheadコマンドに入力している
  3. headコマンドは先頭から5行目までを出力する
  4. sortコマンドは、出力をランダムにソートしている

※この例題は実際の試験問題とは異なります。


解答と解説

答えは「4. sortコマンドは、出力をランダムにソートしている」です。

ランダムに結果を出力するsortコマンドのオプションは、「-R」です。そのためこの選択肢は誤りです。

次に解説ですが、例題のコマンドの流れは以下の通りです。

- sortコマンドの-tオプションで、フィールドの区切り文字を「:」とする
- sortコマンドの-kオプションで、ソートのキーとするフィールドを3番めに指定する
- sortコマンドの-nオプションで、文字列ではなく数値としてソートを実行する
- sortコマンドの-rオプションで、ソートの結果を反転させる
- headコマンドの-nオプションで、sortコマンドの結果の上から5番目までを出力する

[参考:/etc/passwdの書式]
# ユーザ名:パスワード:UID:GID:コメント:ホームディレクトリ:ログインシェル
root:x:0:0:root:/root:/bin/bash

具体的には、/etc/passwdをUIDでソートして、最もUIDが大きいユーザ情報を上から5番目まで出力する動作になります。

最初は長いコマンドを目にすると面食らうかもしれませんが、テキストのフィルタリングができるようになると、ログなどの膨大なデータを素早く整理できるようになります。非常に実践的な知識ですので、積極的に身につけることをおすすめします。


例題作成者

株式会社デージーネット ソリューション開発部    森 彰吾 氏

ページトップへ