2017-10-20 185 views
0

我想生成包含文件中某個電子郵件地址的服務器上每個文件的列表。從htdocs及其所有子目錄開始。如何查找包含特定字符串的* NIX服務器上的所有文件

我使用這個命令:

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

我似乎得到包含字符串的文件,但我阿洛斯讓所有的目錄,這是我不希望在列表中的列表。我只是希望返回包含結果的文件。

這裏有一些成果,我不希望看到:

  • 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-R標誌。第二個將遵循所有符號鏈接。 rgrepgrep -r的快捷方式。

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

-F對待的圖案作爲固定字符串,並-s沉默中的不可讀或不存在的文件的情況下的輸出。

相關問題