linux grep命令的使用总结

简介: 1、功能描述grep 命令在一个或多个文件中查找与指定模式匹配的字符串。如果模式里包含有空格,必须用引号括起来。grep的模式只能是一个被引号括起来的字符串或者是一个单词,后面紧跟着的参数都被当作文件名。

1、功能描述

grep 命令在一个或多个文件中查找与指定模式匹配的字符串。如果模式里包含有空格,必须用引号括起来。grep的模式只能是一个被引号括起来的字符串或者是一个单词,后面紧跟着的参数都被当作文件名。grep命令把结果输出到标准输出上,并不改变被搜索的源文件。

2、命令格式
grep [选项] pattern filename1 filename2 ...

3、主要参数
[options]主要参数:

选项 功能
-b 在每一行前面加上其所在的块号,根据上下文定位磁盘块时可能会用到。
-c 显示匹配到的行的数目,而不显示行的内容
-h 不显示文件名
-i 比较字符的时候忽略大小写的区别
-l 只列出匹配行所在文件的文件名(每个文件名只列一次),文件名之间用换行符分隔。
-n 在每一行前面加上它在文件中的相对行号
-s 无声操作,即只显示报错信息,以检查退出状态
-v 反向查找,只显示不匹配的行
-w 全字匹配

grep –n  ‘^south’ datafile   ----- 选项-n在找到指定模式的行前面加上其行号在一并输出

grep –i  ‘pat’ datafile   ----- 选项-i 关闭大小写敏感性,表达式pat包含任意大小写的组合都符合

grep –v ‘test’ datafile -----查找所有不包含test的行

grep –l ‘test’ *    ----- 查询输出当前目录下所有包含test的文件名

4、支持的正则表达式元字符

元字符 功能 实例 匹配结果 备注
^ 行首定位符 grep “^test” datafile 打印所有以test开头的行  
$ 行尾定位符 grep “test$” datafile 打印所有以test结尾的行  
.  (点) 匹配除“/n”之外的任何单个字符 /t..t/ 匹配包含一个t,后跟两个字符,在跟一个t的行。 定位.本身只需加上转义符即可
* 零次或多次匹配前面的字符或子表达式 /t*est/ 匹配包含0个或者多个t后跟est的行。可以匹配:est、test、ttest  
[] 匹配一组字符中的任一个 /[Tt]est/ 匹配包含Test或者test行  
[^] 匹配不在指定组内的字符 /[^A-Z]/ 匹配不在范围A至Z之间的任一个字符  
/ 词首定位符 // 匹配包含以love开头的词的行。如:love、lover grep “/打印所有包含以north开头的单词的行。
/> 词尾定位符 /love/>/ 匹配包含以love结尾的词的行。 
如:aalove
grep “north/>” datafile 
打印所有包含以north结尾的单词的行。
/(pattern/) 匹配模式pattern,并将之存储在寄存器中,供之后使用。 //(love/)able /1r/ 最多可以使用9个标签,模式中最左边的标签是第一个。例如:模式love被保存为标签1,用/1表示。左边这个例子中,查找串是一个loveable 后跟 lover的长串。 sed、vi、grep支持。 
例如: 
sed “s//(love/)//1able/” 功能是将文件中的love替换成loveable。
x/{m/} 或 
x/{m,/} 或 
x/{m,n/}
\


字符x的重复出现; 
m次,至少m次,至少m次且不超过n次。
转义字符

o/{5,10/} 匹配包含5-10个连续的字母o的行。 vi和gre





相关文章
|
14天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
103 6
|
15天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
57 3
|
15天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
47 2
|
23天前
|
缓存 监控 Linux
|
26天前
|
Linux Shell 数据安全/隐私保护
|
27天前
|
域名解析 网络协议 安全
|
10天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
40 3
|
2月前
|
运维 监控 网络协议
|
2月前
|
监控 Linux Shell
|
15天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
52 3