# grep 命令
[TOC]
>[info] grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
## 选项
>[info]
-A 出了显示匹配的一行之外,并显示该行之外的num行
-B 除了显示匹配的一行之外,并显示该行之前的num行
-C 除了显示匹配的一行之外,并显示该行之前后各num行
-c 计算符合条件的列数
-n 查找文件中匹配到字符 同时显示行和行号
**-i** 不分大小写的查找文件
**-v** 在文件中过滤掉包含linux所在行
**-o** 打印指定的内容
**-E** 使用正则表达式 (egrep是等价的)
# 实例
## 查找文件中包含linux的行
`grep "linux" fileName`
## 查找文件中有多少行匹配到linux
`grep -c "linux" fileName`
## 查找文件中匹配到linux 同时显示行和行号
`grep -n "linux" fileName`
## 不分大小写的查找文件
`grep -i "linux" fileName`
## 在文件中过滤掉包含linux所在行
`grep -v "linux" fileName`
## -E参数之常用的正则匹配
### 在文件中查找时间在 2015:07:20~2015:07:29 的所在行
`grep -E "2015:07:2[0-9]" fileName`
### 在文件中查找不包含201的行
`grep -E "^[^201]" fileName`
### 查找文件中包含 l和p的行
`grep -E "l*x" fileName`
### 查找大于560小于893的行
`grep -E "[5-8][6-9][0-3]" fileName`
### 查找包含两个4的行
`grep -E "4{2}" fileName`
### 查找大于两个4的行
`grep -E "4{2,}" fileName`
### 查找大于两个4小于4个4的行
`grep -E "4{2,4}" fileName`
### 查找文件中的空行
`grep -E "^$" fileName`
### 查找文件中以d开头的行
`grep -E "^d" fileName`
### 查找文件中不以d开头的行
`grep -E "^[^d]" fileName`
- Linux的安装
- Linux的软件安装管理
- Linux零碎的命令
- 了解ssh
- 系统调优及安全设置
- Linux系统中的硬链接和软连接
- Linux文件和目录的属性及权限
- 命令总结
- 文件目录管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件检测内核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作场景应用总结
- 自动删除n天前日志
- 删除一个目录下的所有文件但保留一个文件
- Linux软件安装
- php安装(apache版本)
- vsftpd安装
- git安装
- python安装
- LNMP安装
- LAMP安装I
- LAMP安装II
- svn安装
- svn在Linux下的命令操作
- svn钩子简介
- svn代码上传流程
- Crond介绍
- sersync应用指南
- 其他
- 小结一
- 系统调优重新整理tmp
- linux禁止root用户直接登录sshd并修改默认端口