grepとegrepの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


grepとegrepの主な違いは、grepが与えられた正規表現に従ってコンテンツを検索し、一致する行を表示できるコマンドであるのに対し、egrepはgrepの亜種で、拡張正規表現を適用してコンテンツを検索し、加工行を表示するのに役立つコマンドである点です。

オペレーティングシステムは、コンピュータシステム全体の中核となるものです。

ユーザーとハードウェアの間のインターフェイスとして機能します。

さらに、メモリ管理、プロセス処理、タスクスケジューリングなど、さまざまな機能を実行します。

UNIXは安定したオペレーティングシステムです。

Linuxは、UNIXをベースにしたフリーでオープンソースのオペレーティングシステムです。

これらのオペレーティングシステムは、ユーザーがコマンドラインインターフェイス(CLI)にコマンドを入力してタスクを達成する機会を提供します。

オプション付きのコマンドは数多く存在します。

そのうちの2つがgrepとegrepです。

grepは正規表現を用いてパターンを検索できるのに対し、egrepは拡張正規表現を用いてパターンを検索できる。

全体として、egrepは1つのコマンドで複数のパターンを簡単に検索することができる。

スポンサーリンク

grepとは

grepコマンドは、文書をスキャンし、与えられた正規表現にしたがって結果を表示するコマンドです。

grep “テスト” example1.txt

このコマンドは、example1.txt ファイル内の test という単語から始まるすべての行を表示します。

grep “テスト” example1.txt example2.txt

このコマンドは、両方のファイルでtestという単語を検索し、その結果を表示します。

grep “test” example1.* このコマンドは、両方のファイルで test という単語を検索し、結果を表示します。

このコマンドは、example1 ファイルを任意のフォーマットで検索します。

次のコマンドは、指定された文字列 “test” の次の 2 行を表示します。

grep -A 2 “test” file1.txt

同様に、次のコマンドは、指定された文字列 “test” の前の 3 行を表示します。

grep -B 3 “テスト” file1.txt

以上が grep コマンドの例です。

全体として、grepコマンドは、与えられた正規表現を検索して、マッチした行を表示することができます。

egrepとは

多くのオペレーティングシステムには様々な grep の実装がありますが、egrep はその一つです。

この亜種は拡張正規表現を使用します。

egrep “ab | bc” test1.txt.

このコマンドはファイルtest1.txtの中のパターンab, bcを検索します。

egrep ‘^[a-z A-Z] +$’ test1.txt。

このコマンドは、test1.txt内のアルファベットで始まり、その行を終了するすべての行を検索します。

egrep -c ” ^ ab | bc $ ” test1.txt.

このコマンドは、test1.txtファイルの中で、abで始まるかbcで終わる行を数えます。

これらはegrepのいくつかの例です。

grep と egrep の関係

  • grep -E は egrep と同じです。

grep と egrep の違い

定義

grep は、プレーンテキストのデータセットから正規表現に一致する行を検索するためのコマンドライン ユーティリティです。

egrep は、拡張正規表現を使用して検索を実行するためにオペレーティング システムで利用可能な grep のバリエーションです

代表的なもの

GrepはGlobal Regular Expressions Printを、egrepはExtended Global Regular Expressions Printを表します。

使用方法

grep は正規表現で検索します。

egrepは拡張正規表現で検索します。

メタ・キャラクタ

Grep は +,? , | 等をパターンとして扱います。

メタ文字として扱うには、バックスラッシュを付けて使用する必要があります

, +, {, |.  egrepは+、?、|などをメタ文字として扱います。

結論

grepとegrepの違いは、grepが与えられた正規表現に従ってコンテンツを検索し、マッチした行を表示するコマンドであるのに対し、egrepは拡張正規表現を適用してコンテンツを検索し、加工した行を表示できるgrepの亜種である点です。

簡単に言うと、grepとegrepは同じ機能を実行しますが、パターンを解釈する方法が異なります。

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