Linux での grep コマンドの使い方の詳細な説明

Linux での grep コマンドの使い方の詳細な説明

Linux grep コマンド

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

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

基本的な構文:

grep [オプション] パターン [ファイル]

[options] の主なパラメータは次のとおりです。

-a または --text: バイナリデータを無視しません。

-A<表示行番号> または --after-context=<表示行番号>: テンプレート スタイルに一致する列を表示するだけでなく、その行の後の内容も表示します。

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

-B<表示行番号> または --before-context=<表示行番号>: スタイルに一致する行を表示するだけでなく、その行の前の内容も表示します。

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

-C<表示行番号> または --context=<表示行番号> または -<表示行番号>: スタイルに一致する行を表示するだけでなく、その行の前後のコンテンツも表示します。

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

-e<テンプレート パターン> または --regexp=<テンプレート パターン>: ファイルの内容を検索するためのパターンとして文字列を指定します。

-E または --extended-regexp: 拡張正規表現パターンを使用します。

-f<rule file> または --file=<rule file>: 1 つ以上のルール パターンを含むルール ファイルを指定します。これにより、grep は 1 行に 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 または --quiet または --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 は、一致する行の上と下の 2 行を同時に表示します。

パターン正規表現の主なパラメータは次のとおりです。

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

^: 正規表現の行の先頭に一致します。

$: 正規表現の末尾に一致します。

\<: 正規表現に一致する行から開始します。

\>: 正規表現に一致する行の末尾まで。

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

[ - ]: [A-Z] などの範囲。A、B、C、Z がすべて要件を満たすことを意味します。

.: すべて単一文字。

*: 文字が含まれ、長さは 0 になります。

コード例:

例 1: 現在のディレクトリで、プレフィックスが「test」で文字列「test」を含むファイルを検索し、文字列を含む行を出力します。この場合、次のコマンドを使用できます。

grep テスト テスト*

出力:

testfile1: これは Linux テストファイルです。 # test という文字を含む testfile1 の行を一覧表示します。testfile_2: これは Linux テストファイルです。 # test という文字を含む testfile_2 の行を一覧表示します。testfile_2: Linux test # test という文字を含む testfile_2 の行を一覧表示します。

例 2: 逆検索。「-v」パラメータを使用すると、条件を満たさない行の内容を出力できます。ファイル名にtestが含まれるファイル内でtestを含まない行を探す

grep -v テスト *テスト*

出力:

テストファイル1: helLinux! 

testfile1:Lin は無料の Unix タイプのオペレーティング システムです。 

テストファイル1:Lin 

testfile_1:こんにちは、Linux! 

testfile_1:LINUX は無料の UNIX タイプのオペレーティングシステムです。 

testfile_1:これは Linux テストファイルです。 

testfile_2:こんにちは、Linux! 

testfile_2:Linux は、無料の Unix タイプのオペレーティングシステムです。

以下もご興味があるかもしれません:
  • Linux の grep コマンドと egrep コマンドの詳細な説明
  • Linux でタブと改行を一致させる Grep コマンド
  • Linuxはgrepを使用して複数の条件をフィルタリングし、grepの一般的なフィルタリングコマンドを使用します。
  • Linux で grep コマンドを使用してファイルの内容を取得する方法
  • Linux の一般的なコマンドと find と grep の違い
  • Linux テキスト フィルタリング grep 基本コマンドの紹介 (5)
  • Linux grepコマンドの詳細な説明
  • Linux の grep コマンドの詳細な理解
  • Linux での Grep コマンドの使用
  • Linux での grep コマンドの使い方の詳細な説明

<<:  Centos7 で yum を使用して Mysql5.7.19 をインストールする詳細な手順

>>:  CocosCreatorでシューティングゲームを作る詳しい解説

推薦する

CentOS7 に MySQL をオフラインでインストールする詳細なチュートリアル

1. 元のmariadbを削除します。削除しないとmysqlをインストールできません。 mariad...

MySQL 5.7.21 winx64 無料インストールバージョン設定方法グラフィックチュートリアル

MySQL 5.7.21 winx64無料インストールバージョンの設定方法、参考までに、具体的な内容...

CSSはカラフルでスマートな影の効果を実現します

背景前景要素から特定の色を継承する影の効果を作成する方法を知りたいと思ったことはありませんか?方法に...

MySQL はパスワード強度の検証をオフにします

パスワード強度検証について: [root@mysql mysql]# mysql -uroot -p...

CSS でよく使用されるフォントサイズ、フォント単位、行の高さの詳細な説明

px(ピクセル)ピクセルという言葉は皆さんもよくご存知だと思います。次に、この単位に関するちょっとし...

CSS の 4 つのインポート方法と優先順位の簡単な分析

第一に: CSSを導入する4つの方法CSS を導入する方法には、インライン スタイル、埋め込みスタイ...

Nginx をインストールして複数のドメイン名を設定する方法

Nginx のインストールCentOS 6.x yum にはデフォルトで nginx ソフトウェア ...

Docker での Redis 接続の急増をトラブルシューティングした実践的な記録

土曜日、本番サーバー上の Redis サーバーが利用できなくなり、エラー メッセージは次のようになり...

WeChat アプレット開発フォーム検証 WxValidate の使用

個人的には、WeChat アプレットの開発フレームワークは VUE と概ね似ていると感じていますが、...

Linux での Tomcat8 のインストールとアンインストールに関する詳細なグラフィック チュートリアル

[ Tomcat8 の Linux インストール ] Tomcat をアンインストールする - まず...

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

Vue 構成リクエストの複数サーバーソリューションの詳細な説明

1. 解決策1.1 インターフェースコンテキストパスの説明2 つのバックエンド インターフェイス サ...

ウェブページの色特性の分類

色特性の分類あらゆる色は、赤、緑、青の三原色から構成されます。三原色の中で暖色なのは赤だけなので、作...

Vueプロジェクトでパラメータジャンプ機能を実装する

ページの説明:​ メインページ: 名前 —> shishengzuotanhuichaxun ...

CSS の Display、Visibility、Opacity、rgba、z-index: -1 の違い

ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくありま...