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

ファイル内のテキストパターンを検索するコマンドラインツールであるgrepに関する質問。このタグは、grep自体に関する質問、またはgrepコマンドラインツールの使用から生じる問題に関する質問に使用します。

5
リストからgrepファイル
数百のファイルのリストに対してgrepを実行しようとしています。 $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php ただし、ファイル内で見つかったことがわかっている文字列を探していても、次のコマンドはファイルを検索しません。 $ grep -i 'foo' <(cat files.txt) $ grep -i 'foo' admin.php The foo was found ファイルからパターン-fを読み取るフラグに精通しています。しかし、入力ファイルの読み方は? 私は、ファイルを一時ディレクトリにコピーするという恐ろしい回避策を考えていたのでcp、<(cat files.txt)フォーマットをサポートしているようで、そこからファイルをgrepします。シャーリーにはもっと良い方法があります。

4
両側にコロンがある任意の長さの英数字文字列のgrep
両側にコロンが付いた1〜50文字の英数字文字列(理想的には、任意の長さでも機能します)をgrepする方法-典型的な結果は、文字列を含むすべての行になります:shopping:。これまでのところ、私は以下のコードを持っています(私はそれにいくつかのバリエーションを試しました)、それは動作しません: grep ':[[:alnum:]]{1,100}:' ~/x.txt

5
2つの異なる単語が存在するファイルを検索する方法は?
同じファイルに2つの単語インスタンスが存在するファイルを検索する方法を探しています。私はこれまで、次の方法で検索を実行してきました。 find . -exec grep -l "FIND ME" {} \; 私が遭遇している問題は、「FIND」と「ME」の間にちょうど1つのスペースがない場合、検索結果がファイルを生成しないことです。「FIND ME」ではなく「FIND」と「ME」の両方の単語がファイルに存在する以前の検索文字列をどのように適合させるのですか? AIXを使用しています。
14 grep  find  search 

2
grep -vと同等のPythonは何ですか?
私は好きgrep -vです。いつも使っています。しかし、私はpythonでテキスト処理も行っていますが、私が欠けている重要なことがあります。 通常、私grep -vはテキストから余分なものを取り除くために使用します。 例えば、 $ grep -v '[a-z]' # (I manually review this output to confirm that I don't want those lines) $ grep '[a-z]' > linesiwanted しかし、Pythonで正規表現の補集合をどのように一致させるのでしょうか?たとえば、\w?の補数

4
grepで出力を2つのファイルに分割する方法は?
mycommand.sh2回実行できないスクリプトがあります。出力を2つの異なるファイルに分割します。1つのファイルには正規表現に一致する行が含まれ、もう1つのファイルには正規表現に一致しない行が含まれます。私が欲しいのは基本的に次のようなものです: ./mycommand.sh | grep -E 'some|very*|cool[regex].here;)' --match file1.txt --not-match file2.txt 出力をファイルにリダイレクトし、次に-vオプションの有無にかかわらず2つの異なるgrepsにリダイレクトし、それらの出力を2つの異なるファイルにリダイレクトできることを知っています。しかし、1つのgrepで実行できるかどうか疑問に思っていました。 それで、私が望むものを1行で達成することは可能ですか?

1
PIDが指定されたプロセスの所有者を返す
私はリストからプロセスの所有者をつかもうとしpidof nmapています、ps -u <PID> | grep USER私は現在遊んでいる当時のものを取得するコマンドを持っていますが、それを実行すると、タイトルを印刷するだけになります(一番上の行)。 プロセスIDを指定して、所有者の名前を取得するにはどうすればよいですか?

2
マッチの前後に20文字をgrepするには
試合後の情報が多すぎるという問題があります grep -RnisI --color=auto "pseudomonas" * 試合の前後に20文字または10語だけを取得したい。 そのようなことを行うための適切なツールは何ですか?
14 grep  osx 

2
Grep複数パターンの負の一致
そのため、標準のログ形式を使用したApacheログがたくさんあります。Webクローラーからではないすべてのログ行を取得したい。 次のようなエントリを持つファイルrobot_patternsがあるとします Googlebot msnbot-media YandexBot bingbot コマンドを実行grep -f robot_patterns *.logすると、上記のパターンに一致するボットによってすべてのエントリが取得されます。私の実際のリストには、無視したいボットとエージェントのエントリが30個ほどあります。 しかし、ボットからのものではないすべてのエントリを見つけたいです。試してみてgrep -v -f robot_patterns *.log、grepから結果が返されないようにします。これは私が期待または望んでいるものではなく、私が望むものを手に入れるための明白な方法を見つけていません。-vファイル内の複数のパターンと組み合わせてオプションを使用する場合、grepはすべてのパターンに一致する場合にのみ一致する行を返します。
14 grep 


1
このBSD grepの結果がGNU grepと異なるのはなぜですか?
私のコンピューターはmacOS 10.12.3を実行しておりgrep、バージョン2.5.1-FreeBSDでシステムにインストールされたユーティリティを使用しています。 これらは、さまざまな正規表現をテストするときに得られる出力です。 しかし、GNU grep(バージョン2.25)を使用してこれらを実行すると、次の結果が得られます。 GNUのgrepは正しいように見えますが、BSDのgrepは間違っていますか?なぜ違うのですか?正規表現で行の先頭に続く必要があると指定されている場合、BSDのgrepが「a」と一致する理由がわかりません。


1
「ドット」を2回エスケープする必要があるのはなぜですか?
リテラルと見なされるように*(){}$、withの\ような特殊文字をエスケープできることを知っています。 たとえば、\*または\$ しかし、.私はそれを2回し\\.なければならない場合、そうでなければそれは特別なキャラクターと見なされます。例: man gcc | grep \\. なぜそうなのですか?

2
コマンドの出力を色でフィルターする
出力をフィルタリングする方法を提供しないユーティリティを実行しています。出力のテキストには、特定の機能が失敗したことを示すものはありませんが、赤で表示されます。出力は非常に長いため、最後にエラーの数を報告するとき、エラーが発生した出力を表示するために常にスクロールすることはできません。 赤以外のテキストを除外するにはどうすればよいですか? 擬似コード: dolongtask | grep -color red 編集 コマンド出力を他の色だけでなく、私はフィルタリングできるようにする必要が出て、すべてのテキストではありません赤を。また、テキストの色は複数行です。
13 grep  colors  text  filter 

4
数千ファイルのGrep
私はcca 26 000ファイルのディレクトリがあり、これらすべてのファイルでgrepする必要があります。問題は、できるだけ早くそれを必要とすることです。そのため、grepがfindコマンドから1つのファイルの名前を取得し、ファイルに一致を書き込むスクリプトを作成することは理想的ではありません。「引数リストが長すぎます」問題の前に、このすべてのファイルをgrepするのにccaに2分かかりました。それを行う方法はありますか?編集:常に新しいファイルを作成するスクリプトがあるため、すべてのファイルを異なるディレクトリに配置することはできません。

2
「Ungrep」-一致しないパターン
次のことを行うコマンドまたはスクリプトを探しています-指定: file1.txt: abcd efgh ijkl mnop file2.txt: 123abcd123 123efgh123 123mnop123 私はこのようなことをするコマンドが欲しいです: ungrep file1.txt file2.txt 次を返します。 ijkl 言い換えれば、file2.txtのgrepで結果を返さないfile1.txtの行を提供しています。file1.txtを反復処理し、各行のfile2.txtをgrepして結果を保存し、結果が空の行を出力することでこれを実行できることを知っていますが、これを行うためのより効率的な方法を期待していました。
13 grep 

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