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

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

30
Linuxで特定のテキストを含むすべてのファイルを見つけるにはどうすればよいですか?
この投稿を改善してみませんか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 Linuxシステム全体をスキャンして、特定のテキスト文字列を含むすべてのファイルを検索する方法を探しています。わかりやすくするために、ファイル名ではなく、ファイル内のテキストを探しています。 これを行う方法を探していたときに、私はこのソリューションに2回遭遇しました。 find / -type f -exec grep -H 'text-to-find-here' {} \; ただし、機能しません。システム内のすべてのファイルを表示するようです。 これは適切な方法に近いですか?そうでない場合、どうすればよいですか?ファイル内のテキスト文字列を検索するこの機能は、私が実行しているいくつかのプログラミングプロジェクトに非常に役立ちます。
5259 linux  text  grep  directory  find 



15
Git履歴でコミットされたコードをgrep(検索)する方法
過去にファイルまたはファイル内のコードを削除したことがあります。(コミットメッセージではなく)コンテンツをgrepできますか? 非常に貧弱な解決策は、ログをgrepすることです。 git log -p | grep <pattern> ただし、これはコミットハッシュをすぐには返しません。git grep無駄に遊んだ。
1434 git  grep  diff 

4
Linuxでgrepを使用してファイル名だけを表示するにはどうすればよいですか?
grepLinuxでファイル名のみ(インライン一致なし)を表示するにはどうすればよいですか? 私は通常次のようなものを使用しています: find . -iname "*php" -exec grep -H myString {} \; どうすればファイル名(パス付き)を取得できますが、一致はありませんか?使用する必要がありますxargsか?grepマニュアルページにこれを行う方法がありませんでした。
1068 linux  grep 

3
grepを使用した否定一致(fooを含まない行に一致)
私はこのコマンドの構文を理解しようとしています: grep ! error_log | find /home/foo/public_html/ -mmin -60 または: grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60 という名前のファイルを除いて、変更されたすべてのファイルを表示する必要がありますerror_log。 私はそれについてここで読みましたが、1つのnot-regexパターンしか見つかりませんでした。
990 regex  grep 

11
stdoutではなくstderrをパイプするにはどうすればよいですか?
stdoutand stderrに情報を書き込むプログラムがあり、stdoutを無視しgrepて、stderrに送信される内容を確認する必要があります。 もちろん、2つのステップで実行できます。 command > /dev/null 2> temp.file grep 'something' temp.file しかし、私はこれを一時ファイルなしでできるようにしたいと思います。賢い配管のコツはありますか?
982 bash  grep  stdout  pipe  stderr 

11
grep、ただし特定のファイル拡張子のみ
スクリプトをgrep特定のディレクトリに書き込む作業をしていますが、これらのディレクトリにはあらゆる種類のファイルタイプが含まれています。 私がしたいgrepだけ.hと.cpp、今のところ、しかし、将来的には、おそらくいくつかの他の。 これまでのところ: { grep -r -i CP_Image ~/path1/; grep -r -i CP_Image ~/path2/; grep -r -i CP_Image ~/path3/; grep -r -i CP_Image ~/path4/; grep -r -i CP_Image ~/path5/;} | mailx -s GREP email@domain.com 特定のファイル拡張子だけを追加する方法を誰かに教えてもらえますか?

22
特定のファイルをgrepしないようにするには、grep --exclude /-include構文を使用します
foo=ディレクトリツリーのテキストファイルで文字列を探しています。それは一般的なLinuxマシン上にあり、私はbashシェルを持っています: grep -ircl "foo=" * ディレクトリには、 "foo ="に一致する多くのバイナリファイルもあります。これらの結果は関連性がなく、検索が遅くなるため、grepでこれらのファイル(主にJPEGおよびPNG画像)の検索をスキップするようにします。どうすればいいですか? --exclude=PATTERNと--include=PATTERNオプションがあることはわかっていますが、パターンの形式は何ですか?grepのmanページにはこう書かれています: --include=PATTERN Recurse in directories only searching file matching PATTERN. --exclude=PATTERN Recurse in directories skip file matching PATTERN. 上の検索grepを含める、含め除外のgrep、除外GREPおよび変異体は、関連する何かを見つけることができませんでした 特定のファイルでのみgrepを実行するより良い方法がある場合は、それで十分です。問題のあるファイルを移動することはできません。特定のディレクトリだけを検索することはできません(ディレクトリ構造はすべての場所にあり、非常に混乱しています)。また、何もインストールできないため、一般的なツール(grepや推奨されるfindなど)を使用する必要があります。

12
連続ストリームを「grep」する方法は?
grep連続ストリームで使用することは可能ですか? 私が言っているのは一種のtail -f <file>コマンドですが、grep私が興味を持っている行だけを保持するために出力を使用しています。 私は試しましたtail -f <file> | grep patternが、それが完了するのはgrep一度しか実行できないようtailです、つまり絶対に実行できないようです。
729 linux  bash  shell  grep  tail 

14
grepは検索パターンに一致する単語のみを表示できますか?
検索式に一致するファイルからgrepに「単語」を出力させる方法はありますか? たとえば、「th」のすべてのインスタンスをいくつかのファイルで検索したい場合は、次のようにします。 grep "th" * しかし、出力は次のようなものになります(太字は私が作成したものです)。 いくつかのテキストファイル:猫が上に座っマット いくつかの-他のテキストファイル:速い茶色のキツネ まだ別のテキストファイル:これで完全に説明できる 同じ検索を使用して出力するものは次のとおりです。 the the the this thoroughly これはgrepを使用して可能ですか?または別のツールの組み合わせを使用していますか?
684 grep  words 


8
特定の単語のGit commit差分またはコンテンツをgrepする方法
Gitコードリポジトリで、特定の単語を含むすべてのコミットを一覧表示します。私はこれを試しました git log -p | grep --context=4 "word" しかし、必ずしも検索したファイル名が返されるわけではありません(検索した単語から5行以内の場合を除きます)。 git grep "word" しかし、それは私に現在のファイルのみを提供し、履歴は提供しません。 特定の単語の変更を追跡できるように、履歴全体を検索するにはどうすればよいですか?コードベースで単語の出現を検索して、変更を追跡します(ファイル履歴で検索)。
622 git  search  grep 

14
grepを使用してフォルダー内の単語を検索するにはどうすればよいですか?
Windowsでは、フォルダー内の単語を見つけるために検索を実行しました。同様に、特定の単語が多数のサブディレクトリとファイルを含むディレクトリ内に出現するかどうかを知りたいです。grep構文を検索したところ、ファイル名を指定する必要があることがわかりましたgrep string filename。 さて、ファイル名がわかりません。どうすればよいですか。友人から提案されましたがgrep -nr string、これが何を意味するのかわからず、結果も得られませんでした(を発行するまで応答がありませんctrl + c)。


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