Menu
Coddy logo textTech

フラグ付きGrep

CoddyのTerminalジャーニー「基礎」セクションの一部。レッスン 35/82。

grep は、検索方法や表示内容を制御するフラグを追加すると、さらに強力になります。

grepで最も役立つフラグ:

-i: case insensitive 検索。大文字と小文字に関係なく一致します:

grep -i "error" server.log   # error、Error、ERROR にマッチします

-n: 一致する各 line の横に line 番号を表示します:

grep -n "error" server.log
3:error: disk full
6:error: connection timeout

-c: 一致する行のcountだけを表示し、行自体は表示しません:

grep -c "error" server.log
2

-v、検索をinvertし、パターンに一致しない行を表示します:

grep -v "info" server.log
error: disk full
warning: high memory usage
error: connection timeout

-r: ディレクトリ内の all files を再帰的に search:

grep -r "error" logs/   # logsフォルダ内のすべてのファイルを検索

-l: 一致する行ではなく、一致を含むファイル名のみを表示します:

grep -l "error" *.log

フラグの組み合わせ:

複数のフラグを組み合わせることができます。

grep -in "error" server.log   # 大文字小文字を区別しない + 行番号を表示
grep -vc "info" server.log    # 反転 + info以外の行をカウント
challenge icon

チャレンジ

簡単

フラグを指定してgrepを使い、server.logを3通りの方法で調べます。

  1. errorを含むすべての行を見つけ、-nを使って行番号を表示する
  2. infoを含む行の数を-cを使って数える
  3. info含まないすべての行を-vを使って表示する

ヒント: 3つのコマンドをすべて、続けて1つずつ実行してください。各フラグによって、grepが結果を表示する方法が変わります。

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Terminalプレイグラウンド