タグ付けされた質問 「grep」

grepは、もともとUnix用に書かれたコマンドラインのテキスト検索ユーティリティです。正規表現を使用してテキストを照合し、一般にパイプラインのフィルターとして使用されます。このタグは、質問がgrepまたはgrepベースのAPIを使用したプログラミングに関連している場合にのみ使用してください。grepコマンドラインオプション自体の使用またはトラブルシューティングに関する質問はトピックから外れています。


2
grepはどのように高速に実行されますか?
シェルでのGREPの機能に本当に驚いています。以前はJavaでsubstringメソッドを使用していましたが、今ではGREPを使用して数秒で実行され、以前使用していたJavaコードよりも非常に高速です。 (私の経験によれば、私は間違っているかもしれません) それがどのように起こっているのか理解できなかったと言われていますか?また、ウェブ上で利用できるものはあまりありません。 誰かがこれを手伝ってくれる?
113 unix  grep 

5
巨大なファイル(80GB)を高速化する方法はありますか?
grep -i -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql これは、他の方法では過負荷にならないかなり強力なLinuxサーバーで1時間実行されています。grepに代わるものはありますか?改善できる構文について何かあります(egrep、fgrepの方がいいですか?) ファイルは実際には別のサーバーへのマウントと共有されているディレクトリにありますが、実際のディスクスペースはローカルなので、違いはありませんか? grepは最大93%のCPUを取得しています
113 bash  grep 



8
grepを使用して行番号のみを報告する
不正なフォーマットが含まれている可能性のあるファイルがあります(この場合、パターンの発生\\backslash)。grepこれが発生した行番号のみを返すために使用したいと思います(一致がここにあったように、行#xに移動して修正します)。 ただし、grep -n一致または行自体ではなく、行番号()を出力する方法がないようです。 別の正規表現を使用して行番号を抽出できますが、grepだけでは行番号を抽出できないようにしたいと思います。grep -no最も近いと思いますが、それでもマッチは表示されます。
105 grep 

5
正規表現のgrepの「続かない」の先読み
私は手紙が付いてUi\.いない、Lineまたは手紙だけのすべてのインスタンスをgrepしようとしていますL 別の文字列が後に続かない特定の文字列のすべてのインスタンスを見つけるための正規表現を書く適切な方法は何ですか? 先読みの使用 grep "Ui\.(?!L)" * bash: !L: event not found grep "Ui\.(?!(Line))" * nothing

12
行全体が一致する場合にのみgrepを一致させる方法は?
私はこれらを持っています: $ cat a.tmp ABB.log ABB.log.122 ABB.log.123 ABB.logの完全一致を見つけたいと思っていました。 しかし、私がしたとき $ grep -w ABB.log a.tmp ABB.log ABB.log.122 ABB.log.123 それらのすべてが表示されます。 grepを使用して必要なものを入手できますか?
102 shell  unix  grep 

5
リテラル文字列のGrep
純粋にリテラルな文字列を検索するgrepタイプのツールを探しています。別のログファイルの行の一部として、ログファイルの行の出現を探しています。検索テキストには、あらゆる種類の正規表現の特殊文字を含めることができます[]().*^$-\。 正規表現を使用せず、文字列のリテラル出現を検索するだけのUnix検索ユーティリティはありますか?
100 unix  grep 

7
複数のファイルタイプにgrep --includeオプションを使用するにはどうすればよいですか?
一部のディレクトリにあるすべてのhtmlファイルをgrepしたい場合は、次のようにします grep --include="*.html" pattern -R /some/path うまくいきます。問題は、いくつかのディレクトリにあるすべてのhtml、htm、phpファイルをgrepする方法です。 これから、特定のファイルをgrepしないようにgrep --exclude /-include構文を使用して、次のようにできるようです grep --include="*.{html,php,htm}" pattern -R /some/path しかし残念なことに、それは私にはうまくいきませんでした。 ちなみに、私のgrepバージョンは2.5.1です。
98 shell  grep 


6
sedとgrep / egrepを使用した検索と置換
次のegrep -Rように、約10のユニオンを含む正規表現を続けて使用しています .jpg | .png | .gif。これはうまくいきます。今、見つかったすべての文字列を.bmp のようなものを考えていました egrep -lR "\.jpg|\.png|\.gif" . | sed "s/some_expression/.jpg/" file_it_came_form したがって、ここでの問題は、同様のユニオン正規表現sedをどのように実行するか、および入力を取得したファイルへの変更を保存するように指示する方法です。
97 regex  sed  grep 


6
正規表現としてではないGrep
PHP変数を検索する必要があります$someVar。ただし、Grepは、私が正規表現を実行しようとしていると考えており、次のように不平を言っています。 $ grep -ir "Something Here" * | grep $someVar Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. $ grep -ir "Something Here" * | grep "$someVar" <<Here it returns all rows with "someVar", not only those with "$someVar">> 文字列を正規表現として解釈せず、$を別の文字列文字として含めるようにgrepに指示するオプションが表示されません。
96 linux  grep 

5
ファイル内のパターンの出現回数をカウントします(同じ行でも)
ファイル内の文字列の出現回数を検索するときは、通常、次のように使用します。 grep pattern file | wc -l ただし、grepの動作方法が原因で、1行に1つしか見つかりません。文字列が同じ行にあるか異なる行にあるかに関係なく、文字列がファイルに出現する回数を検索するにはどうすればよいですか? また、単純な文字列ではなく正規表現パターンを検索している場合はどうなりますか?どうすればそれらを数えることができますか、またはさらに良いことに、各一致を新しい行に印刷できますか?
94 search  count  grep  match 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.