LinuCレベル1 Version 4.0 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

■例題
テキストファイル内のタブ文字を半角スペースに置き換えて出力するコマンドを選択してください。

1. expand test.txt
2. unexpand test.txt
3. sort test.txt
4. uniq test.txt

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


解答と解説

答えは正解は「1. expand test.txt」です。

expandコマンドは、引数で指定されたファイルや、標準入力から受け取ったデータに含まれるタブ文字を半角スペースに変換するコマンドです。タブ文字は字下げなどをする場合に便利ですが、環境依存で見え方が変わってしまうというデメリットもあります。そういう時にexpandコマンドでタブを半角スペースに変換しておくことで、見た目を統一できるというメリットがあります。

その他の選択肢の解説は以下通りです。

「2. unexpand test.txt」
unexpandは、半角スペースをタブ文字に変換するコマンドです。

「3. sort test.txt」
sortは、ファイル内の行の並べ替えを行うコマンドです。
デフォルトでは、文字コードの昇順に並べ替えが行われます。
以下のように引数で、順序の制御を行うことができます。

-n 数字を文字ではなく数値として並べ替える
-r 降順で並べ替えを行う

「4. uniq test.txt」
uniqは、ファイル内の重複行を削除し、1行にまとめるコマンドです。

ファイルの編集は、テキストエディタを使う以外にもコマンドで行うこともできます。
エディタよりもすばやく大量のファイルを扱えることもあるので、よく覚えておきましょう。

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

ページトップへ