GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでのGrepコマンドの一般的な例[無料のチートシートのダウンロードあり]

Grepは、さまざまなパラメータでファイルの内容を検索できる強力なUNIXコマンドです。トラブルシューティングやデバッグを行うときに特に役立ちます。

grepコマンドには、膨大な数のオプションとユースケースがあります。おそらく、それらすべてを必要としたり使用したりすることは決してないでしょう。ただし、ほとんどの場合、少数のgrepコマンドを使用することになります。

この記事では、最も一般的なgrepコマンドと簡単な例を示します。 Linuxハンドブックにはすでにgrepに関する詳細な記事がありますので、ここでは詳しく説明しません。ここでは、一般的なオプションとその説明だけを説明します。

すでにgrepコマンドに精通しているが、どのオプションが何を実行するかを忘れ続ける場合は便利です。

オプション コマンド例 説明
i grep-iパターンファイル 大文字と小文字を区別しない検索
A grep-Anパターンファイル 試合後にn行を表示
B grep-Bnパターンファイル 試合前にn行表示
C grep-Cnパターンファイル 試合の前後にn行を表示
v grep-vパターンファイル 一致しない行を表示する
c grep-cパターンファイル 一致する行の数を数える
l grep-lパターンファイル ファイル名のみを表示
w grep-wパターンファイル 正確な単語に一致
e grep-eregexファイル 正規表現パターンに一致
a grep-パターンファイル バイナリファイルを検索
r grep -r pattern dir ディレクトリを再帰的に検索

ダウンロードして印刷し、机の上に置いておくことができるPDFのチートシートを同梱しました。

Grepチートシートをダウンロード

Grepコマンドの簡単な例

ファイル内の特定のテキストまたはパターンを検索するには、次のようなgrepを使用する必要があることをすでにご存知でしょう。

grep search_pattern filename

grepコマンドの一般的な使用例をいくつか見てみましょう。

大文字と小文字を区別しない検索

デフォルトでは、grepを使用した検索では大文字と小文字が区別されます。 -iとの大文字小文字の一致は無視できます オプション:

grep -i search_pattern filename

このように、grepは両方のHolmesに一致する行を返します およびholmes

一致する行の前後の行を表示する

デフォルトでは、一致する行のみが表示されます。ただし、何かのトラブルシューティングを行う場合は、一致する行の前後に数行を表示すると便利です。

-Aを使用できます 一致する線の後に線を表示します。 AはAfterを表すことを忘れないでください。

以下のコマンドは、一致する行と、一致した後の5行を表示します。

grep -A 5 search_pattern filename

同様に、-Bを使用できます 一致する行の前に行を表示するオプション。 BはBeforeを表すことを忘れないでください。

以下のコマンドは、一致する行の前に一致する行とともに5行を表示します。

grep -B 5 search_pattern filename

私のお気に入りはオプション-C 一致する行の前後の行が表示されるためです。ここでのCはCircleの略です。

以下のコマンドは、一致する行の前に5行、一致する行と一致する行の後に5行を表示します。

grep -C 5 search_pattern filename
一致しない行を表示する

grepを使用して、指定されたパターンに一致しないすべての行を表示できます。この「反転マッチング」は、-vで使用されます オプション:

grep -v search_pattern filename

-iを組み合わせることができます および-v オプション。

一致する行の数を数える

一致する行を表示する代わりに、-cを使用してパターンに一致する行の数を取得できます。 オプション。これは小文字のcです。

grep -c search_pattern filename

-cを組み合わせることができます および-v 指定されたパターンに一致しない行数を取得するオプション。もちろん、大文字と小文字を区別しないオプション-iを使用できます。 。

一致する行の行番号を表示する

一致する行の行番号を表示するには、-nを使用できます オプション。

grep -n search_pattern filename

反転検索でも同じことができます。

複数のファイルを検索

検索するgrepに複数のファイルを提供できます。

grep search_pattern file1 file2

これは機能する可能性がありますが、より実用的な例は、特定のタイプのファイルを検索することです。たとえば、シェルスクリプト(.shで終わるファイル)のみの文字列を検索する場合は、次を使用できます。

grep search_pattern *.sh
ディレクトリ内のすべてのファイルを再帰的に検索します

grepオプション-rを使用して、再帰検索を実行できます。 。現在のディレクトリとそのサブディレクトリ内のすべてのファイルで、指定されたパターンを検索します。

grep -r search_pattern directory_path
ファイル名のみを表示

デフォルトでは、grepは一致する行を表示します。複数のファイルで検索を実行し、文字列が含まれているファイルのみを確認したい場合は、-lを使用できます。 オプション。

grep -l search_pattern files_pattern

「ハンドブック」という単語が含まれているMarkdownファイルを確認したい場合は、次を使用できます。

grep -l handbook *.md
完全な単語のみを検索

デフォルトでは、grepは指定された文字列を含むすべての行を表示します。あなたはいつもそれを望むとは限らないかもしれません。 「done」という単語を検索すると、「doner」または「abandoned」という単語を含む行も表示されます。

grepで完全な単語のみを検索するには、オプション-wを使用できます。 :

grep -w search_string file

このように「done」という単語を検索すると、「done」を含む行のみが表示され、「doner」や「abandoned」は表示されません。

正規表現パターンを検索

正規表現パターンを使用して、検索を強力に行うことができます。専用のオプション-eがあります これにより、正規表現パターンとオプション-Eを使用できます これにより、拡張正規表現パターンを使用できます。

grep -e regex_pattern file
これまたはそのパターンを検索

同じgrep検索で複数のパターンを検索できます。いずれかのパターンを含む行を表示する場合は、OR演算子|を使用できます。 。ただし、次の方法でこの特殊文字をエスケープする必要があります。

grep 'pattern1\|pattern' filename

OR演算子で複数のパターンを使用できます。

AND演算子には特定のオプションはありません。そのためにパイプリダイレクトでgrepを複数回使用できます。

バイナリファイルを検索

Grepはデフォルトでバイナリファイルを無視します。 -aを使用して、テキストファイルであるかのようにバイナリファイルで検索することができます。 オプション。

grep -a pattern binary_file

Grepコマンドのチートシートをダウンロード

このページをブックマークして、grepコマンドオプションと使用例をすばやく参照できます。

このgrepチートシートをPDF形式でダウンロードして印刷し、デスクに置いておくと、時間を無駄にすることなく一目で確認できます。

Grepコマンドのチートシートを無料でダウンロードPDF形式の説明付きの一般的なgrepコマンドをすぐにダウンロードします。grep-command-cheatsheet.pdf78KB

このページで見たい他の一般的なgrepのユースケースがあれば教えてください。


Linux
  1. Linuxgrepコマンドの使用方法

  2. Linuxでのddコマンドの5つの実用例

  3. Linuxgrepコマンドを使用する

  1. Linux Sedコマンド:使用法と例

  2. Linuxでのファイルコマンドの基本的な例

  3. 例で説明されたLinuxの無料コマンド

  1. Linuxの無料コマンドの使用

  2. Linuxでの14のGrepコマンドの例

  3. LinuxでGrepコマンドを使用する方法+便利なGrepの例