wiki/运维/操作系统/Linux/笔记/14.文本grep.md
2026-04-08 15:02:24 +08:00

93 lines
1.6 KiB
Markdown

## 1、`grep` 概览
`grep` 是 Linux 中最常用的文本搜索命令之一,用于在文件或命令输出中查找匹配的内容。
日常使用场景包括:
- 在配置文件中查找关键字
- 在日志中定位报错信息
- 过滤命令输出
- 结合管道做批量分析
## 2、基本格式
```shell
grep [选项] "模式" 文件名
```
例如:
```shell
grep "error" app.log
```
表示在 `app.log` 中查找包含 `error` 的行。
## 3、常见选项
- `-m`:匹配指定次数后停止
- `-v`:取反,显示不匹配的行
- `-i`:忽略大小写
- `-n`:显示匹配行的行号
- `-c`:只显示匹配次数
- `-w`:只匹配完整单词
## 4、常见示例
### 4.1 忽略大小写搜索
```shell
grep -i "error" app.log
```
### 4.2 显示行号
```shell
grep -n "listen" /etc/ssh/sshd_config
```
### 4.3 统计匹配次数
```shell
grep -c "404" access.log
```
### 4.4 显示不匹配的行
```shell
grep -v "^#" /etc/ssh/sshd_config
```
这类用法常用于过滤掉注释行。
### 4.5 只匹配完整单词
```shell
grep -w "root" /etc/passwd
```
## 5、结合管道使用
`grep` 经常和其他命令组合:
```shell
ps -ef | grep nginx
```
```shell
journalctl -xe | grep -i "failed"
```
## 6、实战建议
- 配置文件查找时,经常结合 `-n` 看行号
- 查日志时,经常结合 `-i` 忽略大小写
- 过滤无效行时,经常用 `-v`
- 要统计数量时,用 `-c` 比肉眼数更快
## 7、小结
- `grep` 是最基础、最高频的文本搜索命令
- `-i``-n``-v``-c``-w` 是最常用选项
- 它非常适合配合管道过滤日志、进程、配置输出