2020-11-09 14:31:44
grep命令是Linux中搜索文件内容的关键工具,通过以下10个实用技巧可高效完成文件内容查找:
直接指定关键词和文件名进行搜索:grep "keyword" filename.txt
忽略大小写:grep -i "keyword" filename.txt
显示匹配行号:grep -n "keyword" filename.txt

在多个文件中查找关键词
同时搜索多个文件:grep "error" file1.log file2.log
使用通配符匹配文件类型(如所有.log文件):grep "error" *.log
递归搜索整个目录
递归搜索目录及其子目录:grep -r "todo" /path/to/dir
限定文件类型(如仅搜索.txt文件):grep -r --include="*.txt" "todo" /path/to/dir

显示匹配前后几行内容
显示匹配行及后3行:grep -A 3 "error" file.log
显示匹配行及前2行:grep -B 2 "error" file.log
显示匹配行及上下各5行:grep -C 5 "error" file.log
忽略二进制文件或特定类型文件
忽略二进制文件:grep -rI "config" .
跳过特定文件(如.png文件):grep -r --exclude="*.png" "setting" .
只显示匹配的文件名
仅列出包含关键词的文件路径:grep -rl "warning" /var/log/
使用正则表达式进行复杂匹配
基本正则表达式(匹配error1、error2等):grep "error[0-9]" file.txt
扩展正则表达式(匹配error或warning):grep -E "error|warning" file.txt
统计匹配行的数量
统计关键词出现次数:grep -c "success" result.txt
多个文件时分别统计每个文件的匹配行数。
高亮显示匹配内容
启用颜色高亮:grep --color "404" access.log

覆盖输出到文件:grep "timeout" *.log > results.txt
追加输出到文件:grep "timeout" *.log >> results.txt
总结: