フラグ付き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チャレンジ
簡単grep にフラグを使って server.log を 3 つの異なる方法で調べる:
errorを含むすべての行を見つけ、-nを使ってその 行番号 を表示する-cを使ってinfoを含む行の数を数える-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自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。