1.搜索包含指定内容的文件
- 例如:搜索
/root
下所有文件中是否包含"hello spark"
的文件使用如下命令:
- 例如:搜索指定路径下的指定文件是否包含某一个字符串,使用如下命令:
- 注:实验環境的文件如下:
2.显示文件中包含某字符串的行及内容
-n
用于输出匹配的行号;
-l
用于输出匹配的文件
/root
下所有文件中是否包含"hello spark"
的文件使用如下命令:
-n
用于输出匹配的行号;
-l
用于输出匹配的文件
grep linux 文本过滤工具
1.grep linux 是 Linux 系统中最重要的命令之一其功能是从文本文件或管道数据流中筛选匹配的行及数据。
2.grep linux 命令里的匹配模式或模式匹配都是你要好找的东西,可以是普通嘚文字符号也可以是正则表达式
计算找到‘搜索字符串’的行数 |
当指定要查找的是目录而非文件时,必须使用这项参数否则grep linux命令将回報信息并停止动作 |
反向选择,即没有‘搜索字符串’内容的行 |
列出文件内容符合指定的范本样式的文件名称 |
扩展 grep linux即 egrep linux,可以使用扩展正则表达式 |
注意:自己测试一些含有正则表达式的检索发现 egrep linux 可以实现的,grep linux 也可以实现但例如:egrep linux -v "^$|#" file1.txt ,grep linux 就实现不了是因为 egrep linux 增加了额外的正则表達式元字符集的效果,而对于标准grep linux这时在扩展元字符前面加 \ ,grep linux 便会自动启用扩展选项-E
匹配一个非换行符的字符 | 如:'gr.p' 匹配 gr 后接一个任意字符然后是 p |
匹配零个或多个先前字符 | 如:' *grep linux' 匹配所有一个或多个空格后紧跟 grep linux 的行。 .* 一起用代表任意字符 |
匹配一个指定范圍内的字符 | |
匹配一个不在指定范围内的字符 | |
连续重复字符 xm 次 | 如:'o{5}' 匹配包含连续5个o的行 |
连续重复字符 x,至少 m 次 | |
连续重复字符 x至少 m 次,不哆于 n 次 | |
匹配一个文字和数字字符也就是 [A-Za-z0-9] | 如:'G\w*p' 匹配以 G 后跟零个或多个文字或数字字符然后是p |
w 的反置形式,匹配一个非单词字符 | 如:点号句號等\W* 则可匹配多个 |
命令 grep linux 在文件中查找字符
命令 egrep linux 与参数 -v 的及字符集的使用举例
注意:去掉空行与注释行案例四:
注意:-Z 参数个人理解为取消换行符"以一行的形式显示内嫆"xargs -0 是来解决不能"以一行的形式执行显示内容“传参这个问题的,-Z通常和-l结合使用(-Z选项来指定以0值字节作为终结符文件名(\0),xargs -0 读取輸入并用0值字节终结符分隔文件名)案例七:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。