フラグ付き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以外の行をカウントチャレンジ
簡単フラグを指定してgrepを使い、server.logを3通りの方法で調べます。
errorを含むすべての行を見つけ、-nを使って行番号を表示するinfoを含む行の数を-cを使って数えるinfoを含まないすべての行を-vを使って表示する
ヒント: 3つのコマンドをすべて、続けて1つずつ実行してください。各フラグによって、
grepが結果を表示する方法が変わります。
自分で試してみよう
ターミナル
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド