<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Grep :: Ay Docs</title>
    <link>https://ops.docs.72602.space/linux/command/grep/index.html</link>
    <description>grep 是 Linux 中强大的文本搜索工具，其名称来源于 “Global Regular Expression Print”。以下是 grep 命令的常见用法：&#xA;基本语法 grep [选项] 模式 [文件...] 常用选项 1. 基础搜索 # 在文件中搜索包含&#34;error&#34;的行 grep &#34;error&#34; filename.log # 搜索时忽略大小写 grep -i &#34;error&#34; filename.log # 显示不匹配的行 grep -v &#34;success&#34; filename.log # 显示匹配的行号 grep -n &#34;pattern&#34; filename.txt 2. 递归搜索 # 在当前目录及子目录中递归搜索 grep -r &#34;function_name&#34; . # 递归搜索并显示文件名 grep -r -l &#34;text&#34; /path/to/directory 3. 输出控制 # 只显示匹配的文件名（不显示具体行） grep -l &#34;pattern&#34; *.txt # 显示匹配行前后的内容 grep -A 3 &#34;error&#34; logfile.txt # 显示匹配行后3行 grep -B 2 &#34;error&#34; logfile.txt # 显示匹配行前2行 grep -C 2 &#34;error&#34; logfile.txt # 显示匹配行前后各2行 # 只显示匹配的部分（而非整行） grep -o &#34;pattern&#34; file.txt 4. 正则表达式 # 使用扩展正则表达式 grep -E &#34;pattern1|pattern2&#34; file.txt # 匹配以&#34;start&#34;开头的行 grep &#34;^start&#34; file.txt # 匹配以&#34;end&#34;结尾的行 grep &#34;end$&#34; file.txt # 匹配空行 grep &#34;^$&#34; file.txt # 使用字符类 grep &#34;[0-9]&#34; file.txt # 包含数字的行 grep &#34;[a-zA-Z]&#34; file.txt # 包含字母的行 5. 文件处理 # 从多个文件中搜索 grep &#34;text&#34; file1.txt file2.txt # 使用通配符 grep &#34;pattern&#34; *.log # 从标准输入读取 cat file.txt | grep &#34;pattern&#34; echo &#34;some text&#34; | grep &#34;text&#34; 6. 统计信息 # 统计匹配的行数 grep -c &#34;pattern&#34; file.txt # 统计匹配的次数（可能一行有多个匹配） grep -o &#34;pattern&#34; file.txt | wc -l 实用示例 1. 日志分析 # 查找今天的错误日志 grep &#34;ERROR&#34; /var/log/syslog | grep &#34;$(date &#39;+%Y-%m-%d&#39;)&#34; # 查找包含IP地址的行 grep -E &#34;[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+&#34; access.log 2. 代码搜索 # 在项目中查找函数定义 grep -r &#34;function_name(&#34; src/ # 查找包含TODO或FIXME的注释 grep -r -E &#34;TODO|FIXME&#34; ./ # 查找空行并统计数量 grep -c &#34;^$&#34; source_code.py 3. 系统监控 # 查看特定进程 ps aux | grep &#34;nginx&#34; # 检查端口占用 netstat -tulpn | grep &#34;:80&#34; 4. 文件内容检查 # 检查配置文件中的有效设置（忽略注释和空行） grep -v &#34;^#&#34; /etc/ssh/sshd_config | grep -v &#34;^$&#34; # 查找包含邮箱地址的行 grep -E &#34;\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b&#34; file.txt 高级技巧 1. 使用上下文 # 显示错误及其上下文 grep -C 3 -i &#34;error&#34; application.log 2. 反向引用 # 使用扩展正则表达式的分组 grep -E &#34;(abc).*\1&#34; file.txt # 查找重复的&#34;abc&#34; 3. 二进制文件搜索 # 在二进制文件中搜索文本字符串 grep -a &#34;text&#34; binaryfile 4. 颜色高亮 # 启用颜色高亮（通常默认开启） grep --color=auto &#34;pattern&#34; file.txt 常用组合 与其它命令配合 # 查找并排序 grep &#34;pattern&#34; file.txt | sort # 查找并计数 grep -o &#34;pattern&#34; file.txt | sort | uniq -c # 查找并保存结果 grep &#34;error&#34; logfile.txt &gt; errors.txt 这些是 grep 命令最常用的用法，掌握它们可以大大提高在 Linux 环境下处理文本的效率。</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate></lastBuildDate>
    <atom:link href="https://ops.docs.72602.space/linux/command/grep/index.xml" rel="self" type="application/rss+xml" />
  </channel>
</rss>