Linuxとコマンドラインの基礎

$ cat log.txt
INFO start
ERROR disk full
warning: error retry
Error: error twice
INFO done
$ grep -ic error log.txt

上の操作で、最後のコマンドが出力する値として、正しいものはどれか。

  1. A2
  2. B3
  3. C4
答えと解説を見る

正解:B. 3

grep の -i は大文字と小文字を区別しないこと、-c は一致した「行の数」を出力することを表します。error を大文字と小文字を区別せずに含む行は、ERROR disk full、warning: error retry、Error: error twice の3行なので、出力は3です。4行目には error が2回出てきますが、-c が数えるのは行の数なので1と数えます。ほかによく使うオプションには、一致しない行を出す -v、サブディレクトリの中までたどって探す -r、行番号を付ける -n があります。

  • A. -i がないときの値です。-i があると ERROR と Error を含む行も数えます。
  • B. 正しい。大文字と小文字を区別せずに error を含む行は3行です。
  • C. 一致した回数(error が4回)を数えた値です。-c が数えるのは、一致した行の数です。
この分野を解く 分野ページへ

Linuxとコマンドラインの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

Linuxとコマンドラインの基礎のほかの問題

  1. 上の操作で、最後の grep が出力する行として、正しいものはどれか。
  2. 選択肢では、行の先頭の空白を除いて示す。上の操作で、最後のパイプラインが出力する行として、正しいものはどれか。
  3. サーバのログファイル /var/log/app.log に後から追記される行を、追記されるたびに画面に表示し続けたい。適切なコマンドはどれか。
  4. カンマ区切りの行から列を取り出す上のコマンドの出力として、正しいものはどれか。
  5. 文字を置き換える上の sed のコマンドの出力として、正しいものはどれか。