grepコマンドとは?Linuxで文字列検索する方法を初心者向けに解説

Linux

grepコマンドとは、Linuxでファイルの中から指定した文字列を検索するためのコマンドです。

Linuxでは、ログファイル、設定ファイル、テキストファイル、CSVファイルなど、さまざまなファイルの中身を確認しながら作業します。

その中から「errorという文字を含む行だけ見たい」「特定のユーザー名が書かれた行だけ探したい」「ログの中から失敗した処理だけ確認したい」という場面があります。

このようなときに便利なのがgrepコマンドです。

grepコマンドを使うと、ファイルの中から指定したキーワードを含む行だけを表示できます。

また、cat、tail、head、findなどのコマンドと組み合わせることで、ログ確認やサーバー調査でも非常によく使われます。

この記事では、Linux初心者向けにgrepコマンドの意味、基本的な使い方、ファイル内検索、複数ファイル検索、大文字小文字を無視した検索、行番号表示、再帰検索、tailやcatとの組み合わせ、よくあるエラーまでわかりやすく解説します。

  1. grepコマンドとは?
  2. grepコマンドの基本的な使い方
  3. grepコマンドを使う基本の流れ
  4. grepコマンドの実行例
  5. grepは一致した行を表示する
  6. grepで大文字小文字を区別して検索する
  7. grep -iで大文字小文字を無視して検索する
  8. grep -nで行番号を表示する
  9. grep -vで一致しない行を表示する
  10. grep -cで一致した行数を数える
  11. grep -lで一致したファイル名だけ表示する
  12. grep -rでディレクトリ内を再帰的に検索する
  13. grep -Rとの違い
  14. grep -wで単語として一致する行を検索する
  15. grep -xで行全体が一致する行を検索する
  16. grep -oで一致した文字列だけを表示する
  17. grepで複数ファイルを検索する
  18. grepでワイルドカードを使う
  19. grepで検索結果に前後の行を表示する
    1. grep -Aで一致した行の後ろを表示する
    2. grep -Bで一致した行の前を表示する
    3. grep -Cで一致した行の前後を表示する
  20. grepコマンドでよく使うオプション一覧
  21. catとgrepを組み合わせる
  22. tailとgrepを組み合わせる
  23. tail -fとgrepを組み合わせる
  24. headとgrepを組み合わせる
  25. psとgrepを組み合わせる
  26. findとgrepの違い
  27. grepとegrepの違い
  28. grepで正規表現を使う
  29. grepで日本語を検索する
  30. grepコマンドでよくあるエラー・つまずき
    1. No such file or directory
    2. Permission denied
    3. 検索結果が表示されない
    4. ディレクトリを指定してしまう
    5. 引用符を付けずに検索してうまくいかない
  31. grepコマンドで検索できないときの確認ポイント
  32. grepコマンドを安全に使うコツ
  33. grepコマンドを使った練習手順
    1. 1. ホームディレクトリへ移動する
    2. 2. 練習用ディレクトリを作成する
    3. 3. 練習用ディレクトリへ移動する
    4. 4. 練習用ログファイルを作成する
    5. 5. ファイル全体を確認する
    6. 6. errorを検索する
    7. 7. 大文字小文字を無視して検索する
    8. 8. 行番号付きで検索する
    9. 9. errorを含まない行を表示する
  34. grepコマンドを覚えると何ができるようになる?
  35. grepコマンドのよくある質問
    1. grepコマンドは何に使いますか?
    2. grepコマンドの基本形は何ですか?
    3. grepは何を表示しますか?
    4. grep -iとは何ですか?
    5. grep -nとは何ですか?
    6. grep -vとは何ですか?
    7. grep -rとは何ですか?
    8. grepで複数ファイルを検索できますか?
    9. grepで検索結果に前後の行を表示できますか?
    10. grepとfindの違いは何ですか?
    11. grepとcatの違いは何ですか?
    12. tail -fとgrepを組み合わせるにはどうしますか?
    13. grepで検索結果が表示されない原因は何ですか?
  36. まとめ

grepコマンドとは?

grepコマンドとは、Linuxで文字列を検索するためのコマンドです。

指定したファイルの中から、キーワードに一致する行を探して表示できます。

たとえば、sample.logというファイルの中からerrorという文字を探したい場合は、次のように実行します。

grep "error" sample.log

sample.logの中にerrorを含む行がある場合、その行だけが表示されます。

grepは、ログ調査、設定ファイル確認、テキスト検索、コマンド出力の絞り込みなど、Linux操作で非常によく使う基本コマンドです。

grepコマンドの基本的な使い方

grepコマンドの基本的な使い方は、次の通りです。

grep "検索したい文字列" ファイル名

たとえば、memo.txtの中からLinuxという文字を検索する場合は、次のように実行します。

grep "Linux" memo.txt

memo.txtに次のような内容が入っているとします。

Hello Linux
Windows memo
Linux command lesson

grep “Linux” memo.txtを実行すると、Linuxを含む行だけが表示されます。

Hello Linux
Linux command lesson

grepは、指定した文字列を含む「行」を表示するコマンドです。

文字列だけを抜き出すのではなく、その文字列を含む行全体が表示されると覚えておきましょう。

grepコマンドを使う基本の流れ

Linux初心者は、grepコマンドを単体で覚えるよりも、cat、less、tail、headとセットで覚えると理解しやすいです。

基本の流れは次の通りです。

pwd
ls -l
cat sample.log
grep "error" sample.log
tail sample.log
tail -n 100 sample.log | grep "error"

まずpwdで現在いるディレクトリを確認します。

次にls -lで対象ファイルが存在するか確認します。

短いファイルであればcatで全体を確認できます。

特定の文字列を含む行だけ探したい場合はgrepを使います。

ログの末尾から探したい場合は、tailとgrepを組み合わせます。

この流れを覚えると、Linuxでファイルを確認しながら必要な情報だけを絞り込む操作がしやすくなります。

grepコマンドの実行例

実際にgrepコマンドを使う例を見てみましょう。

まず、練習用ファイルを作成します。

echo "login success" > sample.log
echo "login failed" >> sample.log
echo "backup success" >> sample.log
echo "error: disk full" >> sample.log
echo "logout success" >> sample.log

sample.logの中身を確認します。

cat sample.log

実行結果は次の通りです。

login success
login failed
backup success
error: disk full
logout success

この中からerrorを含む行だけ表示するには、次のように実行します。

grep "error" sample.log

実行結果は次のようになります。

error: disk full

このようにgrepを使うと、ファイル全体から必要な行だけを取り出せます。

grepは一致した行を表示する

grepコマンドは、検索した文字列だけを表示するのではなく、その文字列を含む行全体を表示します。

たとえば、次のようなファイルがあるとします。

user: taro login success
user: hanako login failed
user: jiro login success

failedという文字列を検索します。

grep "failed" sample.log

実行結果は次の通りです。

user: hanako login failed

このように、failedという単語だけではなく、failedを含む行全体が表示されます。

ログ確認では、該当する行全体を見られるため、状況を理解しやすくなります。

grepで大文字小文字を区別して検索する

grepは、基本的に大文字と小文字を区別して検索します。

たとえば、sample.txtに次の内容があるとします。

Error
error
ERROR

次のように小文字のerrorで検索します。

grep "error" sample.txt

この場合、基本的には小文字のerrorに一致する行が表示されます。

error

ErrorやERRORもまとめて検索したい場合は、-iオプションを使います。

grep -iで大文字小文字を無視して検索する

grep -iを使うと、大文字小文字を区別せずに検索できます。

grep -i "error" sample.txt

sample.txtに次の内容がある場合、

Error
error
ERROR

grep -i “error” sample.txtを実行すると、すべて表示されます。

Error
error
ERROR

ログファイルでは、Error、ERROR、errorのように表記が混ざることがあります。

そのため、大文字小文字を気にせず検索したい場合はgrep -iが便利です。

grep -nで行番号を表示する

grep -nを使うと、検索結果に行番号を表示できます。

grep -n "error" sample.log

たとえば、sample.logの4行目にerrorがある場合、次のように表示されます。

4:error: disk full

行番号がわかると、lessやviなどで該当箇所を確認しやすくなります。

設定ファイルや長いログファイルで検索する場合は、grep -nを使うと便利です。

grep -vで一致しない行を表示する

grep -vを使うと、指定した文字列に一致しない行だけを表示できます。

grep -v "error" sample.log

たとえば、sample.logに次の内容があるとします。

login success
login failed
error: disk full
backup success

grep -v “error” sample.logを実行すると、errorを含まない行だけが表示されます。

login success
login failed
backup success

特定の行を除外して確認したい場合に便利です。

grep -cで一致した行数を数える

grep -cを使うと、検索に一致した行数を表示できます。

grep -c "error" sample.log

sample.logの中にerrorを含む行が3行ある場合、次のように表示されます。

3

ログファイルの中にエラーが何件あるかを数えたい場合に便利です。

ただし、grep -cは一致した「行数」を数えます。

1行の中に同じ単語が複数回出てきても、行としては1件として数えられます。

grep -lで一致したファイル名だけ表示する

grep -lを使うと、検索文字列を含むファイル名だけを表示できます。

grep -l "error" *.log

複数のログファイルの中から、errorを含むファイルだけ知りたい場合に便利です。

たとえば、次のように表示されます。

app.log
error.log

ファイルの中身ではなく、該当するファイル名だけを知りたい場合はgrep -lを使いましょう。

grep -rでディレクトリ内を再帰的に検索する

grep -rを使うと、ディレクトリの中にあるファイルをまとめて検索できます。

grep -r "error" logs/

このコマンドでは、logsディレクトリ配下のファイルを再帰的に検索します。

サブディレクトリ内のファイルも検索対象になります。

ログディレクトリや設定ファイルが入ったディレクトリから、特定の文字列を探したい場合に便利です。

grep -Rとの違い

grep -Rも、ディレクトリ配下を再帰的に検索するために使われます。

grep -R "error" logs/

環境や対象によって、-rと-Rではシンボリックリンクの扱いなどが異なることがあります。

初心者のうちは、まずディレクトリ配下を検索したい場合はgrep -rを覚えれば十分です。

より細かい挙動が必要になったら、grep -Rとの違いを確認しましょう。

grep -wで単語として一致する行を検索する

grep -wを使うと、指定した文字列を単語として検索できます。

grep -w "cat" sample.txt

たとえば、sample.txtに次の内容があるとします。

cat
catalog
wildcat

grep -w “cat” sample.txtを実行すると、単語としてのcatだけが表示されます。

cat

catalogやwildcatの中に含まれるcatは対象外になります。

単語として完全に一致するものを探したいときに便利です。

grep -xで行全体が一致する行を検索する

grep -xを使うと、行全体が検索文字列と一致する行だけを表示できます。

grep -x "error" sample.txt

たとえば、sample.txtに次の内容があるとします。

error
error log
system error

grep -x “error” sample.txtを実行すると、errorだけの行が表示されます。

error

行全体が完全に一致するものだけを探したい場合に使えます。

grep -oで一致した文字列だけを表示する

grep -oを使うと、行全体ではなく一致した文字列だけを表示できます。

grep -o "error" sample.log

通常のgrepでは、一致した文字列を含む行全体が表示されます。

一方、grep -oでは、一致した部分だけが表示されます。

特定の単語やパターンだけを抜き出したい場合に使われます。

grepで複数ファイルを検索する

grepコマンドでは、複数のファイルをまとめて検索できます。

たとえば、app.logとerror.logの中からfailedを検索する場合は、次のように実行します。

grep "failed" app.log error.log

複数ファイルを指定した場合、検索結果にはファイル名が表示されることがあります。

app.log:login failed
error.log:backup failed

どのファイルに該当行があるのかを確認できるため便利です。

grepでワイルドカードを使う

grepでは、ワイルドカードを使って複数ファイルを検索できます。

たとえば、現在のディレクトリにある.logファイルからerrorを検索する場合は、次のように実行します。

grep "error" *.log

このコマンドは、拡張子が.logのファイルを対象に検索します。

ただし、ワイルドカードは想定より多くのファイルに一致することがあります。

実行前に、lsで対象ファイルを確認すると安全です。

ls *.log

grepで検索結果に前後の行を表示する

ログ確認では、該当行だけでなく、その前後の行も見たいことがあります。

その場合は、-A、-B、-Cを使います。

grep -Aで一致した行の後ろを表示する

grep -Aを使うと、一致した行の後ろの行も表示できます。

grep -A 3 "error" sample.log

この例では、errorを含む行と、その後ろ3行を表示します。

grep -Bで一致した行の前を表示する

grep -Bを使うと、一致した行の前の行も表示できます。

grep -B 3 "error" sample.log

この例では、errorを含む行と、その前3行を表示します。

grep -Cで一致した行の前後を表示する

grep -Cを使うと、一致した行の前後をまとめて表示できます。

grep -C 3 "error" sample.log

この例では、errorを含む行と、その前後3行を表示します。

エラーの原因を調べるときは、該当行だけでは情報が足りないことがあります。

その場合はgrep -Cを使うと、前後の流れを確認しやすくなります。

grepコマンドでよく使うオプション一覧

grepコマンドで初心者が知っておきたい使い方をまとめると、次の通りです。

コマンド 意味 使う場面
grep “error” file.log errorを含む行を表示する 基本の文字列検索
grep -i “error” file.log 大文字小文字を無視して検索する Error、ERRORもまとめて探したいとき
grep -n “error” file.log 行番号付きで表示する 該当行の位置を確認したいとき
grep -v “error” file.log 一致しない行を表示する 特定の行を除外したいとき
grep -c “error” file.log 一致した行数を数える 件数を確認したいとき
grep -r “error” logs/ ディレクトリ配下を再帰検索する 複数ファイルから探したいとき
grep -w “cat” file.txt 単語として一致する行を検索する 部分一致を避けたいとき
grep -C 3 “error” file.log 一致行の前後3行を表示する エラー前後の流れを見たいとき

初心者は、まずgrep、grep -i、grep -n、grep -v、grep -rを覚えるとよいです。

catとgrepを組み合わせる

grepは、catと組み合わせて使われることがあります。

cat sample.log | grep "error"

このコマンドでは、cat sample.logの出力をgrepに渡し、errorを含む行だけを表示します。

ただし、単純にファイルの中を検索するだけなら、次のようにgrepだけで書けます。

grep "error" sample.log

初心者は、まずgrep “検索文字列” ファイル名の形を覚えれば十分です。

パイプの考え方を学ぶ段階になったら、catや他のコマンドとの組み合わせを理解するとよいです。

tailとgrepを組み合わせる

ログファイルの末尾から特定の文字列を探したい場合は、tailとgrepを組み合わせると便利です。

tail -n 100 sample.log | grep "error"

このコマンドでは、sample.logの末尾100行をtailで取り出し、その中からerrorを含む行だけをgrepで表示します。

ログファイル全体が大きい場合、末尾だけを対象にして検索できるため便利です。

tail -fとgrepを組み合わせる

tail -fとgrepを組み合わせると、リアルタイムに追加されるログの中から特定の文字列を含む行だけを表示できます。

tail -f sample.log | grep "error"

sample.logに新しい行が追加されたとき、errorを含む行だけが表示されます。

アプリケーションのエラー調査やログ監視でよく使われる方法です。

終了するときはCtrl + Cを押します。

Ctrl + C

headとgrepを組み合わせる

ファイルの先頭部分だけを対象に検索したい場合は、headとgrepを組み合わせます。

head -n 100 sample.log | grep "error"

このコマンドでは、sample.logの先頭100行からerrorを含む行だけを表示します。

ファイルの冒頭だけを確認したい場合に便利です。

psとgrepを組み合わせる

grepは、ファイル検索だけでなく、コマンド出力の絞り込みにも使えます。

たとえば、実行中のプロセスからnginxを含む行を探す場合は、次のように実行します。

ps aux | grep "nginx"

ps auxでプロセス一覧を表示し、その中からnginxを含む行だけgrepで表示します。

サーバーで特定のプロセスが動いているか確認したいときによく使います。

findとgrepの違い

findコマンドとgrepコマンドは、どちらも「探す」ために使われますが、探す対象が違います。

findは、ファイル名やディレクトリ名を探すコマンドです。

grepは、ファイルの中身から文字列を探すコマンドです。

コマンド 探す対象
find ファイル名・ディレクトリ名 find . -name “*.log”
grep ファイルの中身 grep “error” sample.log

ファイル名を探したい場合はfindを使います。

ファイルの中にある文字列を探したい場合はgrepを使います。

grepとegrepの違い

egrepは、拡張正規表現を使った検索で使われてきたコマンドです。

現在では、grep -Eを使うことで同じような検索ができます。

grep -E "error|failed" sample.log

この例では、errorまたはfailedを含む行を検索します。

初心者は、まず通常のgrepを覚えれば十分です。

複数のパターンや正規表現を使いたくなったら、grep -Eを学ぶとよいです。

grepで正規表現を使う

grepでは、正規表現を使った検索もできます。

正規表現とは、文字列のパターンを表す書き方です。

たとえば、行の先頭がerrorで始まる行を探したい場合は、次のように実行します。

grep "^error" sample.log

^は行の先頭を表します。

行の末尾がdoneで終わる行を探したい場合は、次のように実行します。

grep "done$" sample.log

$は行の末尾を表します。

初心者のうちは、まず通常の文字列検索を覚え、必要になったら正規表現を学ぶとよいです。

grepで日本語を検索する

grepでは、日本語の文字列を検索できる環境もあります。

たとえば、memo.txtの中からエラーという文字列を探す場合は、次のように実行します。

grep "エラー" memo.txt

ただし、サーバー環境や文字コードの設定によっては、日本語検索で文字化けしたり、期待通りに検索できなかったりすることがあります。

Linuxサーバーでログや設定ファイルを扱う場合は、UTF-8で統一しておくとトラブルを減らせます。

grepコマンドでよくあるエラー・つまずき

grepコマンドを使っていると、エラーやつまずきが発生することがあります。

初心者がよく遭遇するポイントを確認しておきましょう。

No such file or directory

No such file or directoryは、「そのようなファイルやディレクトリはありません」という意味です。

存在しないファイルをgrepで検索しようとすると、次のようなエラーが表示されることがあります。

grep "error" sample.log
grep: sample.log: No such file or directory

この場合、sample.logが現在のディレクトリに存在しない可能性があります。

まずpwdで現在地を確認し、lsでファイルがあるか確認しましょう。

pwd
ls -l

Permission denied

Permission deniedは、「権限がありません」という意味です。

読み取り権限がないファイルをgrepで検索しようとすると、次のようなエラーが出ることがあります。

grep "error" secret.log
grep: secret.log: Permission denied

この場合、現在のユーザーにそのファイルを読む権限がありません。

ls -lで権限を確認できます。

ls -l secret.log

権限がないファイルを無理に検索しようとせず、必要な権限があるか確認しましょう。

検索結果が表示されない

grepを実行しても何も表示されない場合、エラーとは限りません。

検索した文字列に一致する行がない場合、grepは何も表示しないことがあります。

たとえば、sample.logにerrorという文字がない場合、次のコマンドは何も表示しません。

grep "error" sample.log

大文字小文字の違いが原因で見つからない場合もあります。

ErrorやERRORも探したい場合は、grep -iを使いましょう。

grep -i "error" sample.log

ディレクトリを指定してしまう

grepでディレクトリを指定すると、環境によってエラーや警告が表示されることがあります。

grep "error" logs

logsがディレクトリの場合、通常のgrepでは中のファイルまで自動で検索しないことがあります。

ディレクトリ配下を検索したい場合は、grep -rを使います。

grep -r "error" logs/

引用符を付けずに検索してうまくいかない

検索文字列にスペースや記号が含まれる場合、引用符を付けないとうまく検索できないことがあります。

たとえば、login failedという文字列を探したい場合は、次のように引用符で囲みます。

grep "login failed" sample.log

初心者は、grepで検索文字列を指定するときはダブルクォートで囲む、と覚えておくと安全です。

grepコマンドで検索できないときの確認ポイント

grepコマンドで検索できないときは、次のポイントを確認しましょう。

  • 現在地をpwdで確認したか
  • 対象ファイルが存在しているか
  • ファイル名を間違えていないか
  • 読み取り権限があるか
  • 検索文字列の大文字小文字を間違えていないか
  • スペースを含む検索文字列を引用符で囲んでいるか
  • ディレクトリ配下を検索する場合にgrep -rを使っているか
  • 文字コードが合っているか

エラーが出たら、まず次のコマンドで現在地とファイルの状態を確認すると原因を探しやすくなります。

pwd
ls -la

検索しても何も表示されない場合は、grep -iで大文字小文字を無視して検索してみるのも有効です。

grep -i "error" sample.log

grepコマンドを安全に使うコツ

grepコマンドは、基本的にはファイルの中身を検索して表示するだけのコマンドです。

そのため、grepで検索しただけでファイルの内容が変更されることはありません。

ログファイルや設定ファイルの中から必要な行を探したい場合に、安全に使いやすいコマンドです。

初心者は、次の流れを習慣にすると安心です。

pwd
ls -l
grep "検索文字列" ファイル名

まずpwdで現在地を確認します。

ls -lで対象ファイルが存在するか確認します。

grepで検索します。

検索結果が多い場合は、grep -nやgrep -i、grep -Cなどを使い分けましょう。

grepコマンドを使った練習手順

Linux初心者は、練習用ディレクトリでgrepコマンドを試すと理解しやすくなります。

次の手順で練習してみましょう。

1. ホームディレクトリへ移動する

cd

2. 練習用ディレクトリを作成する

mkdir grep-practice

3. 練習用ディレクトリへ移動する

cd grep-practice

4. 練習用ログファイルを作成する

echo "login success" > sample.log
echo "login failed" >> sample.log
echo "backup success" >> sample.log
echo "error: disk full" >> sample.log
echo "ERROR: network down" >> sample.log

5. ファイル全体を確認する

cat sample.log

6. errorを検索する

grep "error" sample.log

7. 大文字小文字を無視して検索する

grep -i "error" sample.log

8. 行番号付きで検索する

grep -n "error" sample.log

9. errorを含まない行を表示する

grep -v "error" sample.log

この練習を行うと、grepの基本検索、大文字小文字を無視した検索、行番号表示、除外検索までまとめて確認できます。

grepコマンドを覚えると何ができるようになる?

grepコマンドを覚えると、Linuxで必要な情報をすばやく探せるようになります。

具体的には、次のような作業に役立ちます。

  • ログファイルからエラー行を探す
  • 設定ファイルから特定の設定項目を探す
  • CSVファイルから特定の文字列を含む行を探す
  • 複数ファイルの中から該当する行を検索する
  • ディレクトリ配下をまとめて検索する
  • 検索結果に行番号を付けて確認する
  • 一致しない行だけを表示する
  • tail -fと組み合わせてリアルタイムログを絞り込む
  • psやfindなど他のコマンド出力を絞り込む

LinuxサーバーやVPSを扱う場合、grepはログ調査や設定確認で非常によく使います。

grepコマンドを使えるようになると、Linux作業の効率が大きく上がります。

grepコマンドのよくある質問

grepコマンドは何に使いますか?

grepコマンドは、Linuxでファイルの中から指定した文字列を含む行を検索するために使います。

ログファイル、設定ファイル、CSVファイル、テキストファイルなどから必要な行を探すときに便利です。

grepコマンドの基本形は何ですか?

基本形は次の通りです。

grep "検索文字列" ファイル名

たとえば、sample.logからerrorを検索する場合は次のように実行します。

grep "error" sample.log

grepは何を表示しますか?

grepは、検索文字列に一致した部分だけではなく、その文字列を含む行全体を表示します。

ログ確認では、該当行の前後関係を理解しやすくなります。

grep -iとは何ですか?

grep -iは、大文字小文字を区別せずに検索するためのオプションです。

grep -i "error" sample.log

Error、ERROR、errorをまとめて探したい場合に便利です。

grep -nとは何ですか?

grep -nは、検索結果に行番号を付けて表示するオプションです。

grep -n "error" sample.log

該当箇所が何行目にあるか確認したい場合に使えます。

grep -vとは何ですか?

grep -vは、指定した文字列に一致しない行を表示するオプションです。

grep -v "error" sample.log

特定の行を除外して表示したい場合に便利です。

grep -rとは何ですか?

grep -rは、ディレクトリ配下のファイルを再帰的に検索するためのオプションです。

grep -r "error" logs/

logsディレクトリ内の複数ファイルからまとめて探したい場合に使えます。

grepで複数ファイルを検索できますか?

はい、できます。

複数のファイル名を指定すると、それぞれのファイルから検索できます。

grep "error" app.log error.log

ワイルドカードを使って、複数のログファイルを対象にすることもできます。

grep "error" *.log

grepで検索結果に前後の行を表示できますか?

はい、できます。

一致した行の前後を表示したい場合は、grep -Cを使います。

grep -C 3 "error" sample.log

この例では、errorを含む行と、その前後3行を表示します。

grepとfindの違いは何ですか?

findはファイル名やディレクトリ名を探すコマンドです。

grepはファイルの中身から文字列を探すコマンドです。

ファイル名を探すならfind、中身を探すならgrepと覚えるとわかりやすいです。

grepとcatの違いは何ですか?

catはファイル全体を表示するコマンドです。

grepはファイルの中から特定の文字列を含む行だけを表示するコマンドです。

すべて見たいならcat、必要な行だけ探したいならgrepが便利です。

tail -fとgrepを組み合わせるにはどうしますか?

リアルタイムに追加されるログから特定の文字列だけ表示したい場合は、次のように実行します。

tail -f sample.log | grep "error"

終了するときはCtrl + Cを押します。

grepで検索結果が表示されない原因は何ですか?

検索文字列に一致する行がない、ファイル名を間違えている、大文字小文字が違う、対象ファイルが違う、文字コードが合っていない、などが考えられます。

大文字小文字の違いが疑わしい場合は、grep -iを使って検索してみましょう。

grep -i "error" sample.log

まとめ

grepコマンドとは、Linuxでファイルの中から指定した文字列を含む行を検索するための基本コマンドです。

基本的な使い方は、grepの後ろに検索文字列とファイル名を指定します。

grep "error" sample.log

大文字小文字を区別せず検索したい場合は、grep -iを使います。

grep -i "error" sample.log

行番号付きで表示したい場合は、grep -nを使います。

grep -n "error" sample.log

一致しない行を表示したい場合は、grep -vを使います。

grep -v "error" sample.log

ディレクトリ配下をまとめて検索したい場合は、grep -rを使います。

grep -r "error" logs/

grepは、cat、tail、head、ps、findなど他のコマンドと組み合わせることで、さらに便利に使えます。

特にログ確認では、tail -fとgrepを組み合わせることで、リアルタイムに追加されるログから必要な行だけを確認できます。

tail -f sample.log | grep "error"

Linux初心者は、まずgrep、grep -i、grep -n、grep -v、grep -rを覚え、ファイルやログから必要な情報を検索する操作に慣れていきましょう。

コメント

PVアクセスランキング にほんブログ村

タイトルとURLをコピーしました