一. grep命令介绍 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。 grep全称是Global Regular Expression Print,表示全局正则表达式版本
一. grep命令介绍Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 英文注解: grep ['grep] 搜索目标行命令· global [?glo?bl] 全球的,球状的 regular 美 [?r?ɡj?l?] 有规律的,规则的, 正规军(n) expression 美 [?k?spr???n] 表达,表现,表情,脸色,态度 例句: It's enough to make you wet yourself, if you'll pardon the expression linux支持三种形式的grep命令: grep , egrep ,grep -E 二. 语法格式及常用选项依据惯例,我们还是先查看帮助,使用grep --help
为了更直观一些,我们把常用的参数用表格来展示:
有了具体的参数之后,我们再来看实战案例: 三. 参考案例3.1 搜索文件中以root开头的文件以root开头的文件,可以用 ^root 比如查看/etc/passwd 中以root开头的文件,操作如下:
3.2 搜索文件中出现的root搜某个单词,我们直接在grep后面跟上单词名字即可: 案例一: 搜索/etc/passwd中的root用户
案例二: 从多个文件中搜索root
3.3 搜索除了匹配行之外的行此处使用-v 参数,比如取反 案例一: 统计文件的行数且不包含空行 空行的表示方法: ^$
有时候我们修改了配置文件,文件中包含大量的# ,我们想去掉#查看内容,就可以使用
3.4 匹配的部分使用颜色显示这里可以使用 --color=auto,我们来查看一下包含root的行,并高亮显示要查找的root。
这样显示,效果不明显,我们看下图: 可 以看到,所有的root都是红色表示的。 3.5 只输出文件中匹配到的地方比如我们要查询root,但我不想显示包含root的行,而是只显示要查询的内容: 此时需要使用 -o 参数,代码如下
要注意,如果一行中有10个root,这里就显示10个,而不是只显示一个,所以3.4的案例中我们查询的时候,包含root的有两行,但有4个root,在3.5案例中,显示了所有的root。 3.6 输出包含匹配字符串的行,并显示所在的行数此处可以使用-n 参数, -n 会在一行的前面加上 行号: 比如“4:” 我们来看下代码示例:
我们要统计一个文件一共有多少行,也可以使用-n 参数
3.7 统计文件或者文本中包含匹配字符串的行数此时可以用-c参数:
包含root的有两行, 如果我们要统计文本的行数:
相当于查找 $的行数,可以看到一共有35个$符号,也就是35行。 总结grep命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。 |
2023-01-24
2022-08-15
2021-06-25
2022-09-14
2023-02-20