July 13, 2007

LPI Level1 Exam101(メルマガvol183回答&解説)

正解
3.

joinコマンドは、共通のフィールドを持つ行を横方向に連結して出力します。

$ cat file1
1 aaaa
2 bbbb
3 cccc

$ cat file2
1 ddd
2 eee
3 fff

$ join file1 file2
1 aaaa ddd
2 bbbb eee
3 cccc fff

先頭のフィールドが結合キーになっていない場合は、「-j」で結合フィールド番号を指定します。
結合フィールドの大文字小文字を無視するのであれば「-i(--ignore-case)」を指定します。

$ cat file1
1 aaaa
2 bbbb
3 cccc

$ cat file3
aaa 1
bbb 2
ccc 3

上記の場合は、1つ目のファイルは1フィールド目が結合キー、2つ目のファイルは2フィールド目が結合キーのため、「-j1 1 -j2 2」を指定します。

$ join -j1 1 -j2 2 file1 file3
1 aaaa aaa
2 bbbb bbb
3 cccc ccc

不正解の理由は次のとおりです。

  • expand

    expandコマンドは、テキストファイル中にあるタブをスペースに変換します。

    $ expand file1

  • fmt

    fmtコマンドは、1行あたりの最大の桁数を指定してテキストを整形します。

    $ cat file.txt
    aaaaa bbbbb ccccc ddddd eeeee fffff ggggg hhhhh iiiii jjjjj

    $ fmt -w 20 file.txt
    aaaaa bbbbb ccccc
    ddddd eeeee fffff
    ggggg hhhhh iiiii
    jjjjj

  • paste

    pasteコマンドは、複数のファイルを読み込んで、同じ行番号の行を水平方向に連結し、標準出力に出力します。

    $ cat file_a
    1 aaa
    2 bbb
    3 ccc

    $ cat file_b
    4 ddd
    5 eee
    6 fff

    $ paste file_a file_b
    1 aaa 4 ddd
    2 bbb 5 eee
    3 ccc 6 fff

    連結という意味ではjoinコマンドと同じですが、共通フィールドに基づくのではないため誤りです。




ミニまぐ(携帯)まぐまぐ(PC)で配信されたメールマガジンの問題に対する解答・解説です。

「Project - ∞一日一問IT資格をGET! (ID:M0058193)」

製品のお求めは、全科目1年間使い放題で7,980円のProject - i でどうぞ。




投稿記事が気に入ったらポチっとやって頂戴!

ブログランキング緑にほんブログ村 資格ブログへ 人気ブログランキング【ブログの殿堂】
▼記事に満足したらここをクリック▼
ブログランキングランキングオンライン , 津山ブログRanking

Linux教科書 LPICレベル1 第2版
LPI認定試験LPICレベル1〈101/102〉リリース2新
LPICテキスト LPI Linuxレベル1 Release2―Exam「101」「102」
合格できる!Linux技術者認定試験LPICレベル1
Linux教科書 LPICレベル1


トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔