Linux基础命令grep

一、基础搜索选项

​**-i**
​功能:忽略大小写(如匹配 “ERROR” 和 “error”)
​示例:
bash
grep -i “error” app.log
​**-v**
​功能:反向选择,显示不包含模式的行
​示例:
bash
grep -v “INFO” log.txt
​**-n**
​功能:显示匹配行的行号
​示例:
bash
grep -n “TODO” code.py # 输出格式:文件名:行号:内容
​**-c**
​功能:统计匹配行的数量(非总匹配次数)
​示例:
bash
grep -c “GET” access.log
​**-w**
​功能:完全匹配单词(避免部分匹配)
​示例:
bash
grep -w “user_123” logs.txt

​二、正则表达式选项

​**-E**
​功能:启用扩展正则表达式(支持 |、{n} 等语法)
​示例:
bash
grep -E “(error|warn)” app.log
​**-P**
​功能:启用 Perl 兼容正则表达式(支持预查、零宽断言等)
​示例:
bash
grep -P “\b\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\b” access.log # 匹配IP地址
​**-e**
​功能:指定多个搜索模式(用空格分隔)
​示例:
bash
grep -e “error” -e “timeout” system.log

​三、输出控制选项

​**-o**
​功能:仅输出匹配内容(每项一行)
​示例:
bash
grep -o “user_[0-9]+” logs.txt
​**-A/-B/-C**
​功能:显示匹配行的上下文行(-A 后N行,-B 前N行,-C 前后各N行)
​示例:
bash
grep -C 2 “panic” crash.log # 显示匹配行前后各2行
​**–color=auto**
​功能:高亮显示匹配内容(需终端支持)
​示例:
bash
grep --color=auto “error” app.log

四、文件与目录搜索选项

​**-r/-R**
​功能:递归搜索子目录
​示例:
bash
grep -r “config” /etc/
​**–include/–exclude**
​功能:过滤文件类型或目录(如 .conf、.git)
​示例:
bash
grep -r --include="
.js" “debug” ./src # 仅搜索.js文件

​五、其他实用选项

​**-q**
​功能:静默模式(仅返回退出状态,不输出内容)
​示例:
bash
if grep -q “success” status.txt; then echo “任务完成!”; fi
​**-l**
​功能:仅列出包含匹配行的文件名
​示例:
bash
grep -l “ERROR” .log
*-L**
​功能:列出不包含匹配行的文件名
​示例:
bash
grep -L “debug” *.log

​六、正则表达式基础语法

​锚定
^:行首
$:行尾
​示例:
bash
grep “^start” file.txt # 匹配以 “start” 开头的行
​字符集合
[aeiou]:匹配任意元音字母
[^0-9]:匹配非数字字符
​示例:
bash
grep “[^0-9]” data.txt # 匹配包含非数字的行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值