Linux下搜索文件內容常用grep,搜索文件信息使用find
搜索文本的命令
命令格式: grep [options]... pattern [file]...
命令格式: grep 查找規則... 正則表達式 查看文件
pattern正則表達式主要參數:
忽略大小寫搜索
grep -i "androiD" logcat.txt //從logcat.txt文件中,搜索包含android的文本行,不區分大小寫
遍歷搜索,且不顯示無匹配信息
grep -rs "android" . //從當前目錄下,遍歷所有的文件,搜索包含android的文本行
整字匹配搜索 grep -w “android” logcat.txt //從logcat.txt文件中,搜索包含單詞android的文本行 grep -w “android | ios” logcat.txt //從logcat.txt文件中,搜索包含單詞android或者ios的文本行
只列出文件名
grep -l "android" .
統計字符出現次數
grep -c "android" .
顯示字符出現所在行
grep -n "android“ .
搜索文件的命令
命令格式 find pathname -options [ actions]
命令格式 find 查找目錄 -查找規則 [執行操作]
(1) 如果不寫,默認為當前路徑; (2) 支持多個路徑,目錄直接用空格間隔;
find . -name demo
-name
//根據文件名查找,區分大小寫 -iname
//根據文件名查找,不區分大小寫
通配符說明: (1)* 匹配任意的若干個字符 (2)? 匹配任意的單個字符 (3)[] 匹配括號內的任意一個字符
find /data -name dalvi*
find /data -name dalvik?cache
find /data -name dalvik-cach[abe]
例如:
find -type f //查看文件類型
單位:c(小寫), k(小寫), M(大寫), G(大寫)
-size +10M: 查找大於10M的文件 -size -2k: 查找小於2k的文件 -empty: 查找大小為0的文件或空目錄
例如:
find -perm 777 //查找權限為777的文件
可以通過stat
命令來查看文件的時間,下列是按照文件的各種時間來查找文件:
例如,查找當前路徑下,以a開頭,並排除掉以b結尾的文件或文件夾:
find -name a* -not -name *b
-print
匹配文件輸出到標准輸出,默認操作-ls
查找到的結果,以ls方式顯示
find -name app -ls
-ok [command]
查找完成後,執行command執行,詢問執行
find -name app -ok cat {} \; //注意:{}前後有空格
-exec [command]
查找完成後,執行command執行,直接執行
find -name app -exec ls {} \;