# 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并修改默認端口