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

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

LinuC 101試験の出題範囲から「1.03.2 フィルタを使ったテキストストリームの処理」についての例題を解いてみます。
ここでは、prコマンドについて確認しておきましょう。

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


例題

test.txtファイルを1ページあたり20行に分割し、1ページから3ページまでを表示したい。
正しいコマンドを選択してください。

  1. pr -l 20 +1,3 test.txt
  2. pr -l 20 +1:3 test.txt
  3. pr -l 20 -p 1:3 test.txt
  4. pr -l 20 --pages 1-3 test.txt

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


解答と解説

正解は、「2. pr -l 20 +1:3 test.txt」です。

prコマンドは、テキストファイルの内容を印刷用に整形して表示するためのコマンドです。ヘッダーやページ番号を追加して、印刷の際に見やすいフォーマットに整形することができます。

prコマンドの書式は以下の通りです。

pr [オプション] [ファイル]

prコマンドのオプションを一部紹介します。

-h "ヘッダ"指定した文字列をヘッダーとして使用する
-l "数値"ページの行数を指定(デフォルトは66行でページを分割)
-n行番号を付与する
+開始ページ [:終了ページ]開始ページや終了ページの指定

以下、実行例を記載します。
prコマンドを使用して"/etc/apache2/apache2.conf"というファイルを整形して表示しています。内容がページごとに分割され、各ページにはヘッダ情報と日付が付与されて出力されているのがわかります。実行例に"※ヘッダ"と記載したところがヘッダ情報になります。

$ pr -l 20 +2:4 /etc/apache2/apache2.conf


2024-07-17 18:55         /etc/apache2/apache2.conf          Page 2         ←※ヘッダ


# default Apache2 installation attempts to make adding and removing modules,
# virtual hosts, and extra configuration directives as flexible as possible, in
# order to make automating the changes and administering the server as easy as
# possible.

# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
#       /etc/apache2/
#       |-- apache2.conf

:


2024-07-17 18:55         /etc/apache2/apache2.conf          Page 3         ←※ヘッダ


#       |       `--  ports.conf
#       |-- mods-enabled
#       |       |-- *.load
#       |       `-- *.conf
#       |-- conf-enabled
#       |       `-- *.conf
#       `-- sites-enabled
#               `-- *.conf
#
#
:

2024-07-17 18:55         /etc/apache2/apache2.conf          Page 4         ←※ヘッダ


# * apache2.conf is the main configuration file (this file). It puts the pieces
#   together by including all remaining configuration files when starting up the
#   web server.
#
# * ports.conf is always included from the main configuration file. It is
#   supposed to determine listening ports for incoming connections which can be
#   customized anytime.
#
# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
#   directories contain particular configuration snippets which manage modules,
:

今回の実行例では、"-l 20" を使用して、1ページに20行を表示するように行数を指定しています。
"+2:4"で開始ページと終了ページの指定をしています。今回は、2ページから4ページまでを指定しています。

2ページのヘッダについて説明します。

2024-07-17 18:55         /etc/apache2/apache2.conf          Page 2 

"2024-07-17 18:55"は、コマンドを実行してファイルを整形した日付と時刻です。
"/etc/apache2/apache2.conf"は、ファイル名です。
"Page 2"は、ページ番号を表しています。

例題の選択肢について解説します。

1. pr -l 20 +1,3 test.txt
"+1,3"の部分が間違っています。
開始ページ,終了ページの指定は「+開始ページ:終了ページ」で指定します。

2. pr -l 20 +1:3 test.txt
正解です。
"-l 20"で1ページあたり20行に分割し、"+1:3"で1ページから3ページまでを表示することができます。

3. pr -l 20 -p 1:3 test.txt
-pオプションは存在しません。

4. pr -l 20 --pages 1-3 test.txt
--pagesオプションは存在しません。

prコマンドについて確認を行いました。
実際にどう表示されるのか確認し、使い方を正しく理解しておきましょう。


例題作成者

株式会社デージーネット 経営企画室 宮本 郁実

ページトップへ