帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
Linux命令_grep & 快速查找关键字、文件名
发布时间:2024-03-06 13:53:10   分类:帮助文档
Linux命令_grep & 快速查找关键字、文件名

目录
1. 语法
1.1. 常用参数
2. 常见用法
2.1. 查找关键字
2.2. 取反
2.3. 额外输出关键字上下 2 行
2.4. 额外输出关键字上面 1 行
2.5. 额外输出关键字下面 1 行
2.6. 输出关键字总行数
2.7. 输出行号
2.8. 忽略大小写
2.9. 正则匹配
3.组合使用
4. 文本三剑客其他命令


1. 语法
grep  [选项]  {关键字}  文件名
 
1.1. 常用参数
-i:忽略大小写
-n:输出关键字行号
-v:取反,不输出包含关键字内容
-r:递归查找,用于查找多个文件是否包含某个关键字
-E:使用正则表达式

-A{num}:额外输出关键字下面 num 行
-B{num}:额外输出关键字上面 num 行
-C{num}:额外输出关键字上/下各 num 行,也可以直接使用 -{num}

-c:计算关键字行数
-h:不显示文件名
-l:仅输出符合关键字文件名
-L:输出不符合关键字文件名
 
 
 
2. 常见用法
2.1. 查找关键字
grep 'b' file.txt # 输出包含b的行

 
 
2.2. 取反
grep -v 'b' file.txt # 不输出包含b的行

 
 
2.3. 额外输出关键字上下 2 行
grep -C2 '3' file.txt
grep -2 '3' file.txt # 上述简写

 
 
2.4. 额外输出关键字上面 1 行
grep -B1 '3' file.txt

 
 
2.5. 额外输出关键字下面 1 行
grep -A1 '1' file.txt

 
 
2.6. 输出关键字总行数
grep -c 'b' file.txt

 
 
2.7. 输出行号
grep -n 'b' file.txt

 
 
2.8. 忽略大小写
grep -i 'B' file.txt

 
 
2.9. 正则匹配
字符解释用法^匹配以什么开始grep -E '^ab' 匹配以ab开头的行$匹配以什么结尾grep -E 'ab$' 匹配以ab结尾的行.匹配任意一个字符grep -E 'a.c' 只匹配a与c之间拥有一个字符的行.+匹配1次或多次grep -E 'a.+c' 匹配a与c之间任意字符的行,不包含ac*匹配0次或多次grep -E 'a*c' 匹配a与c之间任意字符的行,包含ac|相当于 orgrep -E 'ab|ac' 匹配包含ab或ac的行[]匹配括号中任意一个字符grep -E '[ac]' 匹配包含a或c的行[^]匹配非括号中任意一个字符grep -E '[^ac]' 匹配不包含a或c的行-[0-9] 匹配数字grep -E [0-9]   匹配包含数字的行[^0-9] 匹配非数字grep -E [^0-9] 匹配不包含数字的行[a-z] 匹配小写字符串grep -E [a-z]   匹配包含小写字符串的行[^a-z] 匹配非小写字符串grep -E [^a-z] 匹配不包含小写字符串的行[A-Z] 匹配大写字符串grep -E [A-Z]   匹配包含大写字符串的行[^A-Z] 匹配非大写字符串grep -E [^A-Z] 匹配不包含大写字符串的行()(a|b) 匹配括号中任意字符grep -E '0(a|b)1' 只匹配0a1和0b1的行(a)+ 匹配包含1个或多个agrep -E '0(a)+1' 匹配0和1之前1个或多个a,0a1、0aa1...{}{n} 指定匹配n个以上grep -E 'ab{2}' 匹配包含ab,且a或b连续为2次以上:abb{n,m} 指定匹配 n-m 个grep -E 'ab{2,3}' 匹配包含ab,且a或b连续为2-3次:abb、aaab
示例:
grep -E '^b' file.txt # 查找以b开头的行
grep -E 'b$' file.txt # 查找以b结尾的行
grep -E 'a|c' file.txt # 查找包含a或者c的行

 
 
 
3.组合使用
3.1. 查找当前目录下以a开头的文件,并显示文件名和行号
grep -rn '^1' ./

 
 
3.2. 显示指定目录下包含b的文件名
grep -rl 'b' /home/yt/shell/grep/

 
 
3.3. 查找指定文件中包含system的行/行号,不区分大小写
grep -in 'system' /etc/passwd

 
 
 
4. 文本三剑客其他命令
Linux命令_awk常用指南
Linux命令_sed常用指南



香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价