作为和awk、sed齐名的grep文本操作,学好grep是很有必要的,当然,管道符也很重要
grep
grep作用是在文件中提取和匹配符合条件的字符串行。
grep [选项] “搜索内容” 文件名
选项:
- -i 忽略大小写
- -n 输出行号
- -v 反向查找
- –color=auto 搜索出的关键字用颜色显示
find
find:用于搜索符合条件的文件名,如果需要模糊查询,可以使用通配符,-regex选项也支持正则(equals)
grep:用于在文件中搜索符合条件的字符串,如果需要模糊查询,可以使用正则(contains)
用于匹配文件名,完全匹配
- ? 匹配一个任意字符
-
- 匹配0个或者任意多个字符
- [] 匹配括号中的任意一个字符,如[ab],或者是a,或者是b
- [-] 匹配括号中任意一个字符,-代表一个范围,[a-z]代表匹配一个小写字母
- [^] 逻辑非,表示匹配不是括号内的一个字符,[^0-9]代表匹配一个不是数字的字符
通配符
用于匹配字符串
- ? 匹配前一个字符重复0次,或一次
-
- 匹配前一个字符重复0次,或任意多次(只写一个字符加星号,是没有意义的)
- [] 匹配括号中的任意一个字符,如[ab],或者是a,或者是b
- [-] 匹配括号中任意一个字符,-代表一个范围,[a-z]代表匹配一个小写字母
- [^] 逻辑非,表示匹配不是括号内的一个字符,[^0-9]代表匹配一个不是数字的字符
- ^ 匹配行首
- $ 匹配行尾
管道|
命令格式:
命令1 | 命令2
表示 命令1的正确输出作为命令2的操作对象。有点像find命令中的-exec选项
管道符是文本流,命名1的运行结果保存在临时文件中。(简单理解)
举例:分屏显示/etc下面的文件
ll /etc | more
显示/etc/下面所有包含yum的文件
ll /etc | grep yum
显示具体网络连接数量
netstat -an | grep -i established | wc -l