ホームページ >運用・保守 >Linuxの運用と保守 >Linuxでgrepコマンドを使用するにはどうすればよいですか? (詳しい説明)

Linuxでgrepコマンドを使用するにはどうすればよいですか? (詳しい説明)

青灯夜游
青灯夜游オリジナル
2019-03-06 16:12:3522795ブラウズ

Linux システムの grep コマンドは、強力なテキスト検索ツールです。正規表現を使用してテキストを検索し、一致する行を出力できます。その使用構文は、「grep [オプション] パターン [ファイル] 」です。

Linuxでgrepコマンドを使用するにはどうすればよいですか? (詳しい説明)

#この記事の動作環境: linux5.9.8 システム、Dell G3 コンピューター。

Linux grep コマンド

Linux grep コマンドは、ファイル内の修飾文字列を検索するために使用されます。また、指定されたテンプレート スタイルを含むファイルを検索するためにも使用できます。正規表現検索を使用して、ファイル内で指定された文字列パターンを検索し、パターンに一致する部分文字列を含むファイル名をリストし、その文字列を含むテキスト行を出力できます。

grep は次のように機能します。1 つ以上のファイルで文字列テンプレートを検索します。テンプレートにスペースが含まれる場合は引用符で囲む必要があり、テンプレートに続くすべての文字列はファイル名として扱われます。検索結果は、元のファイルの内容に影響を与えることなく、標準出力に送信されます。

基本構文:

grep [options] pattern [files]

[オプション] の主なパラメータ:

-a または --text: 使用しないでください。バイナリデータを無視します。

-Ab45a7b481d741ca62b471eb807dcec39 または --after-context=b45a7b481d741ca62b471eb807dcec39 : テンプレート スタイルに準拠した列を表示することに加えて、行の後にコンテンツを表示します。

-b または --byte-offset: スタイルに一致する行を表示する前に、行の最初の文字の番号をマークします。

-B9633338ec3c47a3e4cb176a3bffb6c3c または --before-context=9633338ec3c47a3e4cb176a3bffb6c3c : スタイルに一致する行を表示するだけでなく、その行より前の内容も表示します。

-c または --count : スタイルに一致する列の数をカウントします。

-C または --context= または - : スタイルに一致する行を表示することに加えて、これを表示しますline コンテンツの前後。

-d c0c478a2b113bba92686c59645344e0e または --directories=c0c478a2b113bba92686c59645344e0e : 検索するファイルではなくディレクトリを指定する場合は、このパラメータを使用する必要があります。そうでない場合、grep コマンドは情報を報告し、アクションを停止します。

-e144db954177ff6cdba977c2cd2085ab1 または --regexp=144db954177ff6cdba977c2cd2085ab1 : ファイルの内容を検索するためのスタイルとして文字列を指定します。

-E または --extended-regexp : 拡張された通常の表記法としてスタイルを使用します。

-ffb6315a3c3b7bdbef822fdbbba8eac71 または --file=fb6315a3c3b7bdbef822fdbbba8eac71 : コンテンツに 1 つ以上のルール パターンが含まれるルール ファイルを指定すると、grep がルール条件を満たすファイルのコンテンツと形式を検索できるようになります。各行に 1 つのルール スタイル。

-F または --fixed-regexp : スタイルを固定文字列のリストとして扱います。

-G または --basic-regexp : スタイルを通常の表記法として扱います。

-h または --no-filename: スタイルに一致する行を表示する前に、その行が属するファイル名を指定しません。

-H または --with-filename: スタイルに一致する行を表示する前に、その行が属するファイル名を示します。

-i または --ignore-case: 大文字と小文字の違いを無視します。

-l または --file-with-matches: ファイルの内容が指定されたパターンと一致するファイル名をリストします。

-L または --files-without-match: 内容が指定されたスタイルと一致しないファイル名をリストします。

-n または --line-number: スタイルに一致する行を表示する前に、その行の列番号を指定します。

-o または --only-matching: 一致する PATTERN 部分のみを表示します。

-q または --quint または --silent: 情報を表示しません。

-r または --recursive: このパラメータの効果は、「-d recurse」パラメータを指定した場合と同じです。

-s または --no-messages: エラー メッセージを表示しません。

-v または --revert-match : 一致するテキストを含まないすべての行を表示します。

-V または --version : バージョン情報を表示します。

-w または --word-regexp: 単語全体に一致する列のみを表示します。

-x --line-regexp: すべての列に一致する列のみを表示します。

-y: このパラメータの効果は、「-i」パラメータを指定した場合と同じです。

-?: 上下の一致ラインを同時に表示しますか?次のような行: grep -2 pattern filename は、一致する行の上位行と下位行を同時に表示します。

pattern 正規表現の主なパラメータ:

\: 正規表現内の特殊文字の本来の意味を無視します。

#^: 正規表現の開始行と一致します。

$: 正規表現の終了行と一致します。

\b2cf2c034d8ef07402443f6a419b131b:正規表現に一致する行の末尾へ。

[]: [A] などの 1 文字は、A が要件を満たしていることを意味します。

[ - ]: [A-Z] などの範囲、つまり A、B、C ~ Z はすべて要件を満たします。

.: すべて単一の文字。

##: 文字があり、長さは 0 にすることができます。

コード例:

例 1:

現在のディレクトリで、先頭に「test」という単語が付いているファイルを検索します。 "test" 文字列を含むファイルを作成し、その文字列の行を出力します。この時点で、次のコマンドを使用できます:

grep test test*
出力:

testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行  
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行  
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行

例 2:

逆検索では、「-v」パラメータを使用して、条件を満たさない行の内容を出力できます。ファイル名に test

grep -v test *test*
Output:

が含まれるファイル内で test を含まない行を検索します。
testfile1:helLinux!  
testfile1:Linis a free Unix-type operating system.  
testfile1:Lin  
testfile_1:HELLO LINUX!  
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  
testfile_1:THIS IS A LINUX TESTFILE!  
testfile_2:HELLO LINUX!  
testfile_2:Linux is a free unix-type opterating system.

相关linux视频教程推荐:《linux语言教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上がLinuxでgrepコマンドを使用するにはどうすればよいですか? (詳しい説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。