搜索文本的命令
命令格式:
grep [options]... pattern [file]...
命令格式:
grep 查找规则... 正则表达式 查看文件
options | 解释 |
---|---|
-i | 不区分大 小写(只适用于单字符) |
-r | 遍历匹配 |
-v | 显示不包含匹配文本的所有行 |
-s | 不显示不存在或无匹配文本的错误信息 |
-E | 可用于同时匹配多关键词 |
-w | 整字匹配 |
-l | 查询多文件时只输出包含匹配字符的文件名 |
-c | 只输出匹配行的计数 |
-n | 显示匹配行及行号 |
-h | 查询多文件时不显示文件名 |
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“ .
显示多条件匹配
grep -E "android|linux“ .
搜索文件的命令
命令格式
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 {} \;