Linux システムのシステム管理者は、Linux の巨大なログ ファイルを解析しなければならない場合があります。特にパターンを一致させる必要がある場合は、骨の折れる作業に思えるかもしれません。ありがたいことに、Linux の grep コマンドは、このような状況に役立ちます。 grep コマンドとは何か、またどのように機能するのか疑問に思っている場合は、この便利な Linux コマンドを理解するのに役立つ簡単なガイドを以下に用意しました。
目次
Linux の grep コマンドとは?
grep コマンドは Linux の強力なコマンド ライン ツールで、ファイル内の特定のパターンや文字列を検索して除外するために使用されます。ディレクトリ、または他のコマンドの出力でも。その珍しい名前について疑問に思うかもしれません。 「Global Regular Expression Print」の略です。これは、1973 年に Ken Thompson によって Unix オペレーティング システム用に初めて導入されました。その汎用性と使いやすさを備えた grep コマンドは、すべての Linux ユーザーにとってなくてはならないツールです。
通常、grep コマンドはほとんどの Linux ディストリビューションにプリインストールされていますが、システムにない場合は、次のコマンドを使用してインストールしてください:
Debian ベースのシステムにインストール:
sudo apt install grep
Fedora ベースのシステムにインストール:
sudo yum install grep
Arch ベースのシステムにインストール:
sudo pacman-S grep
Grep コマンド: 構文とオプション
Linux での grep コマンドの使用は、単純な構文と複数のオプションを使用できるため、非常に簡単です。 grep コマンドを使用する構文は次のとおりです。検索し、
Linux で grep コマンドを使用する方法
grep コマンドの使用は簡単で、単純な構文に従います。検索するファイル名またはディレクトリと、一致させたいパターンを指定するだけです。パターンには、正確な単語または正規表現を使用できます。ここで「正規表現」とは何ですか?正規表現は、特定の領域で使用されると異なる方法で解釈される特別な文字列です。それらは、パターンに一致するすべての可能な組み合わせに置き換えられます。
たとえば、メール アドレスを一致させたい場合、正規表現「(.+)\@(.+)\n」を使用できます。複雑に見えますか?これを分解してみましょう:
(.+) は、改行を除くすべての文字に一致します\@ は、指定された文に「@」記号が存在するかどうかを確認します。
正規表現とは何か、grep コマンドがどのように機能するかがわかったので、Linux で grep コマンドを使用する方法を見てみましょう。
grep コマンドでファイル内の文字列を検索する
grep を使用する最も一般的な方法は、ファイル内の特定の文字列を検索することです。ファイル内で grep コマンドを使用して検索する基本的な構文は次のとおりです。検索したい。たとえば、fruits.txt という名前のファイル内で文字列「mango」を検索する場合は、次のコマンドを使用します。
grep”mango”fruit.txt
大文字と小文字を区別せずに検索するには、上記の例の grep コマンドで-i フラグを使用します。=”472″src=”https://beebom.com/wp-content/uploads/2023/04/grep_single_ingnore_case.png?w=574″>
grep で複数のファイルを検索
grep コマンドを使用すると、単一のファイルだけでなく、複数のファイルを検索できます。この機能は、複数の大きなファイルを処理する必要がある場合に特に便利です。 grep コマンドで複数のファイル内の文字列/パターンを検索する構文は次のとおりです:
grep
たとえば、ファイル「student1.txt」と「student2.txt」内で文字列「student」を検索するには、次のコマンドを使用します。
grep”John”student1.txt student2.txt
grep を使用してディレクトリ内のすべてのファイルを検索する
文字列を検索する必要があり、それが存在するファイル名を覚えていないとします。ディレクトリに存在するすべてのファイル名を書き込むことができますが、代わりに、次のようにワイルドカード「*」を使用することもできます:
grep
たとえば、ディレクトリに存在するすべてのファイルで文字列「apple」を検索する場合は、次のコマンドを使用します:
grep”apple”*
特定のファイル タイプのみを検索する場合は、これを使用します構文:
grep
たとえば、.txt ファイルのみで「mango」という単語を検索する場合は、これを使用します。コマンド:
grep”mango”*.txt
grep での正規表現の使用
他のツール/コマンドに対する grep コマンドの主な利点は、正規表現を処理して検索できることです。コンテンツ。正規表現を使用して検索するには、grep コマンドに-e フラグを含めるだけです:
grep-e
たとえば、メール ID を除外する次のコマンドを使用します:
grep-e”(.+)\@(.+)”email.txt
grep コマンドを使用して複数のキーワードを検索する
ここまでで、検索に慣れてきたはずです。 grep を使用したいくつかのパターンまたは単語。しかし、複数の単語/パターンを検索する必要がある場合はどうでしょうか?まあ、それも grep がカバーしてくれます。 grep コマンドを使用して複数の単語を検索するには、次の構文を使用します。
grep”
ここで、\| 2 つのクエリのいずれかが一致した場合に結果を出力するように grep を指定します。たとえば、ファイル「fruits.txt」で「apple」と「mango」という単語を検索する場合は、次のコマンドを使用します。
grep”apple\|mango”fruit.txt
p>
一致結果のカウントgrep コマンドを使用
一致する結果の数を知る必要がある場合があります。これには、grep コマンドで-c フラグを使用できます:
grep-c”pattern_to_search”filename
たとえば、電子メール ID の数を確認する必要がある場合ファイル student1.txt で、次のコマンドを使用します:
grep-E-c”(.+)@(.+)”student1.txt
検索クエリに一致しない行数を見たい場合-v フラグを-c と共に追加するだけです:
grep-v-E-c”(.+)@(.+)”student1.txt
シェル パイプでの grep コマンドの使用
Linux でシェル パイプが機能する方法は、あるコマンドの出力を別のコマンドに入力として送信することです。シェル パイプを使用する基本的な構文は次のとおりです。
first_command | second_command
シェル パイプを使用すると、一定のスクロールや何かを探す代わりに、grep コマンドで一部のコマンド出力をフィルター処理するのがずっと簡単になります。特定のコマンド出力から特定の単語またはパターンを除外するには、上記の構文の
first_command | grep
たとえば、gcc コマンドが以前に実行された回数を知りたい場合は、次のコマンドを使用できます:
history | grep gcc
これにより、下の図に示すように、「gcc」という単語を含む結果のみが表示されます。
Linux での grep コマンドの使用
grep コマンドは、さまざまなファイル、ディレクトリ、または他の Linux コマンド出力で特定のパターンや単語を検索したいユーザーにとって不可欠なツールです。重要なオプションと構文をすべて把握したら、grep コマンドを使用すると、生産性が飛躍的に向上します。ここにいる間に、Ubuntu 23.04 の新機能をチェックしてください。
Linux FAQ の grep コマンド
grep コマンドは、パターンを検索するときに大文字と小文字を区別しますか?
デフォルトでは、grep は機能します大文字と小文字を区別します。ただし、大文字と小文字を区別せずに検索する必要がある場合は、-i フラグを使用してください。
圧縮ファイルを検索するにはどうすればよいですか?
Zgrep を使用すると、grep の修正バージョンを使用して、圧縮ファイルを検索します。 zgrep コマンドを使用して圧縮ファイルを検索するための構文は次のとおりです。 3080 Ti ラップトップ GPU は、地球上で最も強力なゲーミング ラップトップでした。 iPhone 14 シリーズが発売されてから数か月が経ち、今年が Pro モデルの年であることは定評があります。しかし、飾り気のないプロに行くつもりなら、シェルの量は […]
Wondershare は、過去数年間、私たちの生活と創造的な努力を簡素化するための最高のソフトウェアとツールをいくつか開発してきました。特に、Wondershare Filmora は数々の称賛を受けています。ビデオ編集リーダー賞の受賞者でした […]