Linux 常用命令 grep
关键字加引号,关键字会被看成一个整体,可以包含空格或特殊字符1)单引号如果关键字包含特殊字符($ 和 \' 除外),使用单引号会对特殊字符转义,进行完全匹配搜索2)双引号关键字即使包含特殊符号,使用双引号原样输出3)不加引号搜索包含关键字中任意单词的文本行
选项
-
-i 搜索时候忽略大小写
-
-n 列出所有的匹配行,显示行号
-
-v 反向选择
-
-c 只输出匹配行的数量
-
-l 只列出符合匹配的文件名,不列出具体的匹配行
-
-h 查询多文件时不显示文件名
-
-r 递归搜索
-
-q 禁止输出任何结果,已退出状态表示搜索是否成功
-
--color=auto 将找到的关键字加上颜色显示
-
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
-
-B, --before-context=NUM 打印以文本起始的NUM 行
-
-A, --after-context=NUM 打印以文本结尾的NUM 行
下面是一些使用grep命令的示例:
查找单个文件中的内容
grep "pattern" filename
这个命令将在filename文件中查找包含"pattern"字符串的行,并将其打印出来。
查找多个文件中的内容
grep "pattern" file1 file2 file3
这个命令将在file1、file2和file3文件中查找包含"pattern"字符串的行,并将它们打印出来。
递归查找目录中的文件
grep -r "pattern" directory
这个命令将在目录directory及其子目录中查找包含"pattern"字符串的文件,并将它们打印出来。
统计匹配的行数
grep -c "pattern" filename
这个命令将在filename文件中查找包含"pattern"字符串的行,并返回匹配的行数。
显示匹配行的行号
grep -n "pattern" filename
这个命令将在filename文件中查找包含"pattern"字符串的行,并返回匹配行的行号。
反向匹配
grep -v "pattern" filename
这个命令将在filename文件中查找不包含"pattern"字符串的行,并将其打印出来。
使用扩展正则表达式
grep -E "pattern" filename
这个命令将在filename文件中使用扩展正则表达式查找包含"pattern"字符串的行,并将其打印出来。
只匹配整个单词
grep -w "pattern" filename
这个命令将在filename文件中查找包含"pattern"整个单词的行,并将其打印出来。
显示匹配行之前的若干行
grep -B 2 "pattern" filename
这个命令将在filename文件中查找包含"pattern"字符串的行,并显示匹配行之前的2行。
显示匹配行之后的若干行
grep -A 2 "pattern" filename
这个命令将在filename文件中查找包含"pattern"字符串的行,并显示匹配行之后的2行。
显示匹配行前后的若干行
grep -C 2 "pattern" filename
这个命令将在filename文件中查找包含"pattern"字符串的行,并显示匹配行前后的2行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix