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的檔案;