您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux grep基础入门知识点有哪些
## 一、grep简介
`grep`(Global Regular Expression Print)是Linux/Unix系统中功能强大的文本搜索工具,它通过正则表达式在文件中搜索指定模式,并将匹配的行打印出来。作为三剑客(grep、sed、awk)之首,grep在日志分析、配置文件查找等场景中应用广泛。
### 核心功能特点
- 支持基本正则表达式(BRE)和扩展正则表达式(ERE)
- 支持多文件搜索和递归目录搜索
- 支持匹配行号显示、反向匹配等实用功能
- 处理速度快,适合大文件搜索
## 二、基本语法结构
```bash
grep [选项] 模式 [文件...]
选项 | 说明 |
---|---|
-i |
忽略大小写 |
-v |
反向匹配(显示不包含模式的行) |
-n |
显示匹配行的行号 |
-c |
统计匹配行数(不显示具体内容) |
-l |
只显示包含匹配项的文件名 |
-L |
显示不包含匹配项的文件名 |
-w |
全词匹配 |
-r /-R |
递归搜索目录 |
-A num |
显示匹配行及后面num行 |
-B num |
显示匹配行及前面num行 |
-C num |
显示匹配行及前后各num行 |
--color |
高亮显示匹配内容 |
grep "hello" file.txt # 搜索包含hello的行
.
匹配任意单个字符*
前导字符出现0次或多次^
匹配行首$
匹配行尾[]
字符集合(如[a-z]
匹配任意小写字母)-E
)grep -E "go+d" file.txt # 匹配god, good, gooood等
+
前导字符1次或多次?
前导字符0次或1次|
或操作(如cat|dog
)()
分组匹配grep -n "ERROR" /var/log/syslog # 带行号显示错误日志
grep -c "404" access.log # 统计404错误次数
grep -r --include="*.py" "import pandas" /project # 递归搜索py文件
ps aux | grep "nginx" # 查找nginx进程
ifconfig | grep -E "inet [0-9.]+" # 提取IP地址
grep -E "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$" emails.txt # 邮箱验证
限制搜索范围:
grep -m 100 "pattern" largefile.log # 只显示前100个匹配
排除目录:
grep -r --exclude-dir={node_modules,venv} "function" .
使用快速模式:
grep -F "固定字符串" file # 禁用正则提高速度
并行搜索(需安装parallel):
find . -type f | parallel -j 4 grep "pattern" {}
grep -a "text" binary_file # -a将二进制文件当文本处理
grep --unicode-regexp "中文" utf8_file.txt
grep "\$20" prices.txt # 搜索$20需要转义
grep -E
(扩展正则)grep -F
(快速字符串匹配)man grep
/info grep
提示:建议通过
alias grep='grep --color=auto'
将高亮设为默认,提升可读性。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。