HOMEサンプル問題・例題解説101試験の例題と解説103.2 フィルタを使ったテキスト ストリームの処理

101試験の例題と解説

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

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

■トピックの概要
このトピックの内容は以下の通りです。

<103.2 フィルタを使ったテキストストリームの処理>
重要度 3

<説明>
テキストストリームにフィルタを適用できる。

<主要な知識範囲>
テキストファイルやストリームの出力をテキストユーティリティフィルタに送り込み出力を変更するために、GNU textutilsパッケージに含まれる標準的なUNIXコマンドを使用する。

<重要なファイル、用語、ユーティリティ>
    cat
    cut
    expand
    fmt
    head
    join
    less
    nl
    od
    paste
    pr
    sed
    sort
    split
    tail
    tr
    unexpand
    uniq
    wc


■例題

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

コマンド:sort -t : -k 3 -n -r /etc/passwd | head -n 5

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

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

解答と解説

答えは 「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番目まで出力する動作になります。

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


■例題作成者
株式会社デージーネット ソリューション開発部    森 彰吾 氏


  • 今回の解説について、理解できないポイントがあればどんどん質問を。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※上記の解説とその内容については、例題作成者の監修です。
    内容や試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

このページのトップへ