LinuCレベル1 101試験の例題と解説
1.03.2フィルタを使ったテキスト ストリームの処理
今回は101試験の試験範囲から、「1.03.2 フィルタを使ったテキストストリームの処理」についての例題を解いてみます。
例題
下記コマンドの説明として誤っているものを選択してください。
コマンド:sort -t : -k 3 -n -r /etc/passwd | head -n 5
- sortコマンドは、一行を「:」で区切り、3番目のフィールドでデータをソートしている
- sortコマンドの出力をheadコマンドに入力している
- headコマンドは先頭から5行目までを出力する
- 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番目まで出力する動作になります。
最初は長いコマンドを目にすると面食らうかもしれませんが、テキストのフィルタリングができるようになると、ログなどの膨大なデータを素早く整理できるようになります。非常に実践的な知識ですので、積極的に身につけることをおすすめします。
例題作成者
株式会社デージーネット ソリューション開発部 森 彰吾 氏