2017-10-20 11 views
0

ファイル内の特定の電子メールアドレスを含むサーバー上のすべてのファイルのリストを作成したいとします。 htdocsとそのすべてのサブディレクトリで始まります。私は、このコマンドを使用しています特定の文字列を含む* NIXサーバー上のすべてのファイルを見つける方法

find /htdocs/ | xargs grep -n "[email protected]" 

私は、文字列を含むファイルを取得しているようだが、私はALOS私がリストにたくない、すべてのディレクトリのリストを取得しています。私は単にスターギングを含むファイルを返すだけです。ここで

は、私が見たいと思っていません結果の一部を以下に示します。あなたは-rを使用する場合

  • grep: /htdocs/live/abcdef/contact/facilities/GoogleCalendar/gphp/examples/templates: Is a directory
  • grep: edited.jpg: No such file or directory
  • grep: /htdocs/.pki/nssdb: Permission denied
+1

次のようなものがあります: 'grep -nsF '[email protected]' -r/htdocs'?シンボリックリンクに従うには '-r'の代わりに' -R'を使います。 – randomir

+1

それは働いているように見える...ありがとう@randomir –

+0

私はリストが大幅に洗練されているが、私はほしいよりも少しを得ている。 'grep:/htdocs/.pki/nssdb:Permission denied 'が表示されていますが、これも表示させたくありません。それは可能ですか? –

答えて

1

grepは、指定されたディレクトリに再帰的にすることができますまたは-Rフラグ。 2番目はすべてのシンボリックリンクに従います。 rgrepgrep -rのショートカットです。固定文字列として

grep -nsF '[email protected]' -R /htdocs 

-Fお菓子パターン、および-s沈黙読めないか、存在しないファイルの場合の出力。

関連する問題