HOMEサンプル問題・例題解説101試験の例題と解説103.7 正規表現を使用してテキストファイル を検索する

101試験の例題と解説

103.7正規表現を使用してテキストファイル を検索する

今回は101試験の試験範囲から「103.7 正規表現を使用してテキストファイルを検索する」についての例題を解いてみます。

■例題
sedコマンドへの指示として「s/linux/Linux/g」と指定したときの動作について正しい説明を選びなさい。

1. 一番最初に見つかった文字列linuxだけをLinuxに置き換える
2. 見つかったすべての文字列linuxをLinuxに置き換える
3. 行の中で最初に見つかった文字列linuxだけをLinuxに置き換える
4. 行の先頭にある文字列linuxをLinuxに置き換える

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

解答と解説

答えは 2. 見つかったすべての文字列linuxをLinuxに置き換える です。

sedコマンドはStream EDitorの略で、標準入力、またはファイル入力から読み込まれたストリームデータに対して、指示された処理を行って標準出力に出力します。
よく使用される処理としては、例題にあるような置換処理があります。

正解にあるように、「s/元の文字列/新しい文字列/g」と指示をあたえると、ストリームに含まれるすべての文字列を置換対象にします。最後につけたgを取って「s/元の文字列/新しい文字列/」とすると、行で最初の文字列のみ置換し、2つ目の文字列は置換しなくなるので、場合によっては置換残りが出てしまうことになるので、状況に応じて使い分けが必要です。
ほとんどの場合、g付きで実行することが多いでしょう。

この文字列置換の指定は、sedだけでなくviエディタでも使用できます。その場合、以下のような指定になります。

%s/元の文字列/新しい文字列/g

%を付けないと、現在表のみが対象になるので、ファイル全体に対して置換処理を行いたい場合には%を付けてください。

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

このページのトップへ