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

grepは、テキストの検索に使用されるコマンドラインユーティリティです。

3
ログファイルの末尾を表示しますが、特定の行のみを表示します
ログファイルの末尾に-fフラグを付けています。次に、これをgrepにパイプして、「X」を含む行のみを検索します。それは完全にうまく機能しています。次に、これを別のgrepに再度パイプします。これにより、「Y」を含むすべての行が削除されます。2番目のパイプを追加すると、ファイルの更新が停止し、データが到着していないように見えます。 これは機能するコマンドです: tail -f my_file.log | grep "X" これはしないコマンドです: tail -f my_file.log | grep "X" | grep -v "Y" コマンドが機能するようにこれをどのように構成する必要がありますか?

3
フォルダー内のすべての.zipファイルのコンテンツをリストし、特定のファイルのgrepを表示するにはどうすればよいですか?
348個のzipファイルがあり、zipファイルの1つにあるファイルを検索したいのですが、unzip -lワイルドカードでは機能しませんか? すべての.zipファイルのコンテンツを一覧表示grepし、zipに含まれるすべてのファイルの結合リストを表示するにはどうすればよいですか?
28 grep  zip  unzip 

4
「xargs grep」は何をしますか?
私はgrepコマンドを知っていて、の機能について学んxargsでいるので、このページを読んで、xargsコマンドの使用方法の例をいくつか示します。 最後の例、例10に混乱しています。「xargsコマンドはgrepコマンドを実行して、文字列 'stdlib.h'を含むすべてのファイルを検索します(findコマンドで提供されたファイル)」 $ find . -name '*.c' | xargs grep 'stdlib.h' ./tgsthreads.c:#include ./valgrind.c:#include ./direntry.c:#include ./xvirus.c:#include ./temp.c:#include ... ... ... ただし、単に使用することの違いは何ですか $ find . -name '*.c' | grep 'stdlib.h' ? 明らかに、私はまだxargsが正確に何をしているかに苦労しているので、どんな助けも大歓迎です!

1
grep行のバッファリングは何をしますか?
スクリプトでgrepリアルタイムデータに使用しているコマンドは次のとおりです。一部の行が欠落しているだけなので、リアルタイムデータを正しくプルできないようです。 tail -f <file> | fgrep "string" | sed 's/stuff//g' >> output.txt 次のコマンドは何をしますか?「ラインバッファリング」とは何ですか? tail -f <file> | fgrep --line-buffered "string" | sed 's/stuff//g' >> output.txt
25 grep 

2
このgrepコマンドが機能しないのはなぜですか?
この方法でgrepを使用しようとすると: service --status-all | grep network grep「ネットワーク」文字列のみに制限するためにパイプしたにもかかわらず、すべてのサービスがリストされます。 事後に: コマンドがこのように動作する理由を説明するこの記事に注意してください、それはLinuxについて私が好きなことです、常に正当な理由がありますが、必ずしも直感的ではありません
24 services  grep 

2
grepの色の変更
何かをgrepすると、結果は常に赤になります。コマンドgrep --colorが結果を色で印刷することを知っています。デフォルトでは赤です。色を変更できますか?


3
パイプとアンパサンドでgrepを使用して、findからエラーをフィルタリングする
cygdriveでファイルを見つけるためにcygwinを使用しています。 ただし、アクセス許可が拒否されたメッセージを抑制する必要があります(そうでない場合、結果はエラーメッセージに隠されます)。次のコマンドが機能します。 find -name 'myfile.*' |& grep -v "Permission denied" アンパサンドをこのコマンドに入力する必要がある理由がわかりません。これは機能するはずですが、機能しません。 find -name 'myfile.*' | grep -v "Permission denied" アンパサンドの意味を説明してください。
22 bash  command-line  find  grep 

1
grepでPerl互換正規表現(PCRE)の修飾子を使用する
grep --helpおよびに従って、パターンをデフォルトのPOSIX基本正規表現(BRE)の代わりにPerl正規表現(正確にはPCRE)として解釈するためにオプションをman grep使用できます。-P Perl言語では、パターンの解釈を調整するために、さまざまな修飾子を式に追加できます(の構文内/pattern/modifiers)。 それでは、どうして誰かがgrepのPerl正規表現に修飾子を追加できますか?いくつかのバリエーションを試しましたgrep -P "/^got.it$/ms" [FILE]が、検索結果が間違っていました。 ただし、PCREの解釈については、マニュアルで次のように指摘されています。 これは非常に実験的であり、grep -Pは実装されていない機能について警告する場合があります。 grepツールが修飾子をまったくサポートしていない可能性はありますか? ちなみに、-i修飾子の例であるオプションを使用すると、大文字と小文字を区別しないパターンマッチングを実行できることに気付きました。
20 grep  perl  regex 



3
grepから行番号を取得する方法は?
次のgrep grep -r -e -n coll * 表示されます fullpath/filename: <tag-name>coll</tag-name> 次のテキストがある行を知りたいのですが、を追加しようとしました-nが、うまくいきませんでした。を追加しようとしましたが | grep -n *、奇妙なことが起こりました。 見たいのは(フォーマットは気にしない) fullpath/filename:10: <tag-name>coll</tag-name>


2
^ $と^#はどういう意味ですか?
分かりませんBADIPS=$(egrep -v "^#|^$" $tDB)。説明できますか?完全なコード: #!/bin/bash # Purpose: Block all traffic from AFGHANISTAN (af) and CHINA (CN). Use ISO code. # # See url for more info - http://www.cyberciti.biz/faq/?p=3402 # Author: nixCraft <www.cyberciti.biz> under GPL v.2.0+ # ------------------------------------------------------------------------------- ISO="af cn" ### Set PATH ### IPT=/sbin/iptables WGET=/usr/bin/wget EGREP=/bin/egrep ### No editing below …
17 grep  regex 

1
grepにスペース文字を含める方法は?
exampleという名前のファイルがあります $ cat example kali.pdf linux.pdf ubuntu.pdf example.pdf. this.pdf grep .pdf grep前.pdfにスペースのある行を取得するために使用すると、取得できないようです。 grep *.pdf example 何も返しません(「grep、前に0個以上のスペースがあります」と言いたいのです.pdfが、結果はありません) そして私が使用する場合: grep i*.pdf example kali.pdf linux.pdf ubuntu.pdf example.pdf. this.pdf grep .pdf 「grep、i1回または0回一致します」と言っているため、すべての行が返されます。 そして最後に: grep " *.pdf" example 結果は返されません このサンプルでは、​​見たい grep .pdf 出力として 私の考えの何が問題になっていますか?

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