いつgrepの代わりにegrepを使用するのですか?


8

私は今、Linux端末評価の準備をしています。Googleを試してみたところ、ほとんどのリソースは、より強力な「egrep」ではなく、基本的な「grep」を参照していることがわかりました。

私は常に小さなサンプルで作業しているので、パフォーマンスの調整は遠すぎます。

だから基本的に私は、より良い方法でそれを行うためにegrepに切り替えなければならない領域があるかどうか知りたいですか?今のところ基本的な "grep"で作業しても安全ですか?潜在的なリスクはありますか?

Linuxシェルコマンドに関する私の限られた知識については申し訳ありませんが、manページは私にとって迷路のように見え、正直なところ、両方のコマンドが提供するすべての機能を理解するのにあまり時間をかけていません。

回答:


10

egrep = grep -E

http://www.opengroup.org/onlinepubs/007908799/xcu/grep.htmlから

「拡張正規表現を使用して照合します。XBD仕様の拡張正規表現で説明されているように、EREとして指定された各パターンを扱います。EREパターン全体が入力行と一致すると、行が一致します。ヌルEREはすべての行と一致します。」

したがって、egrepを使用すると、を使用できます+, ?, | and ()


@omfgroflmao:それがすべての違いですか?さて、今は「egrep」コマンドを気にせずに「grep」チュートリアルに集中するだけで快適だと感じています:)ヒントありがとうございます!

1
あなたはそれを呼び出すかどうegrepgrep -E、正規表現を拡張し、一般的に複雑なパターンが短く、したがって、 ``の多くを除去して読みやすく作るのですか。パフォーマンスについてではありませんが、ある意味でより良い方法です。
Cascabel

5

egrepは非推奨です。を使用しgrep -Eます。grepが文字列パターンを検索することに注意してください。文字列を見つけた後で文字列に何かをしたい場合は、awk(またはシェル)などの文字列処理ツールにパイプする必要があります。同様に文字列を検索し、必要に応じて処理を実行するためawk、調べる必要があるツールはです。grep / sed / etcが行うすべてのことを1つの便利なツールで実行できます。awkgrep


@ ghostdog74:あー、egrepは使用しないことをお勧めします...私はそれがgrepの代替品だと思っていました...チップをありがとう!

2
参考までに、多くのマシンでは、grepはgrepへのリンクです。つまり、実際にはまったく同じコマンドですが、呼び出し方法によって動作が異なります。
MJB 2010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.