1. 程式人生 > >Linux查詢目錄下包含有某字串的所有檔案

Linux查詢目錄下包含有某字串的所有檔案

linux系統中,如果你想在當前目錄下查詢所有包含"phpernote"字串的檔案,可以這樣輸入命令:

grep -rn "phpernote" *

* : 表示當前目錄所有檔案,也可以是某個檔名,可省略

-r  是遞迴查詢

-n  是顯示行號

-R  查詢所有檔案包含子目錄

-i  忽略大小寫,預設情況區分大小寫

-l  只列出匹配的檔名

-L  列出不匹配的檔名

-w  只匹配整個單詞,而不是字串的一部分(如匹配 'magic',而不是 'magical')

-C number  匹配的上下文分別顯示[number]行

(1)當然還有一些更有意思的查詢方法,例如:

grep "phpernote" | "php" *

查詢當前目錄下包含了phpernote字元或者包含了php字元的檔案

grep "phpernote" | grep "php" *

查詢當前目錄下既包含phpernote字元又包含php字元的檔案

(2)這裡還有些用於搜尋的特殊符號: 

\< 和 \> 分別標註單詞的開始與結尾。

例如: 

grep man * 會匹配 'Batman'、'manic'、'man'等

grep '\

grep '\' 只匹配'man',而不是'Batman'或'manic'等其他的字串。 

'^':指匹配的字串在行首

'$':指匹配的字串在行尾

當然還可以通過xargs配合grep查詢檔案列表,例如:

find -type f -name '*.java'|xargs grep 'http'

//----------------------------------------------------------------------------

專案需求:

找到apk中的某個url。

(1)反編譯apk;

(2)反編譯之後,刪除多餘的java檔案,比如android.support等等庫和第三方庫;

(3)使用shell命令找到相關的檔案中包含http或者https的檔案;