Linux的grep和find
find和grep命令详解
- 系统当中搜索文件
- 文件当中搜索字符串
find
-
find 搜索范围 搜索条件 搜索文件
-
find / -name install.log
避免大范围搜索,会非常耗费系统资源,find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
find 在搜索范围后可以跟一些参数:-user(所有者) -mtime 修改的最近时间
- atime 文件访问时间
- ctime 改变文件属性
- mtime 修改文件内容
- size 文件大小
- find /etc -size +20k -a -size -50k -exec ls -h
第一个命令的结果交给地问个命令进行处理
grep
- grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
grep和find的区别
-
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
-
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配
grep中的正则表达式
一、什么是正则表达式?
正则表达式只不过是每个输入行匹配的模式。模式是一个字符序列。
例如:“w1”、“w1|w2”、“[]”
在“etc/passwd”中检索“vivek”
grep vivek /etc/passwd
输出结果案例:
vivek:x:1000:1000:View Gite、、、:/home/wiwek:/bin?bash
vivekgite:x:1001:1001::/home/vivekgite:/bin/sh
在任何情况下检索“vivek”(即不区分大小)
grep -i -w vivek /etc/passwd