Menu
Coddy logo textTech

フラグ付きGrep

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

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

最も有用な grep フラグ:

-i大文字小文字を区別しない 検索。大文字小文字に関係なく一致します:

grep -i "error" server.log   # matches error, Error, ERROR

-n — 各一致行の横に行番号を表示:

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

-c — マッチした行の のみを表示し、行自体は表示しません:

grep -c "error" server.log
2

-v — 検索を反転 — パターンに一致しない行を表示:

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

-r — ディレクトリ内のすべてのファイルを再帰的に検索:

grep -r "error" logs/   # search all files inside the logs folder

-l — マッチを含むファイル名のみを表示し、一致する行は表示しません:

grep -l "error" *.log

フラグの組み合わせ:

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

grep -in "error" server.log   # case insensitive + show line numbers
grep -vc "info" server.log    # invert + count non-info lines
challenge icon

チャレンジ

簡単

grep にフラグを使って server.log を 3 つの異なる方法で調べる:

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

ヒント: 3 つのコマンドを順番に実行する。各フラグは grep が結果を提示する方法を変更する。

チートシート

フラグを使用して grep の検索方法と結果の表示方法を制御します。

-i — 大文字小文字を区別しない検索:

grep -i "error" server.log   # matches error, Error, ERROR

-n — 行番号を表示:

grep -n "error" server.log

-c — 一致する行の数を表示:

grep -c "error" server.log

-v — 検索を反転(一致しない行を表示):

grep -v "info" server.log

-r — ディレクトリを再帰的に検索:

grep -r "error" logs/

-l — 一致を含むファイル名のみを表示:

grep -l "error" *.log

フラグは組み合わせることができます:

grep -in "error" server.log   # case insensitive + line numbers
grep -vc "info" server.log    # invert + count

自分で試してみよう

ターミナル
quiz icon腕試し

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

基礎のすべてのレッスン