这篇文章上次修改于 412 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
使用场景
语法
- grep [参数] pattern [files]
- pattern 是要查找的字符串或正则表达式
- files 是要查找的文件名,可以同时查找多个文件,如果省略 files 参数,则默认从标准输入中读取数据
参数说明
参数 |
说明 |
-A NUM , --after-context=NUM |
显示匹配行及后面的 NUM 行内容 |
-B NUM , --before-context=NUM |
显示匹配行及前面的 NUM 行内容 |
-C NUM , --context=NUM |
显示匹配行及前后各 NUM 行内容 |
-a , --text |
处理二进制文件,将其视为文本文件 |
-b , --byte-offset |
在每行的前面显示匹配项的字节偏移 |
-c , --count |
只输出匹配行的数量,而不显示具体内容 |
-e PATTERN , --regexp=PATTERN |
指定匹配模式为正则表达式 |
-E , --extended-regexp |
使用扩展正则表达式语法 |
-F , --fixed-strings |
将模式视为固定字符串而不是正则表达式 |
-G , --basic-regexp |
使用基本正则表达式语法 |
-h , --no-filename |
不显示文件名 |
-H , --with-filename |
显示文件名 |
-i , --ignore-case |
忽略大小写匹配 |
-l , --files-with-matches |
只显示包含匹配项的文件名 |
-L , --files-without-match |
只显示不包含匹配项的文件名 |
-m NUM , --max-count=NUM |
限制输出的匹配行数为 NUM 行 |
-n , --line-number |
显示匹配行及行号 |
-o , --only-matching |
只输出匹配的部分 |
-q , --quiet , --silent |
安静模式,不输出任何信息 |
-r , --recursive |
递归搜索子目录 |
-s , --no-messages |
安静模式,不显示错误信息 |
-U , --binary |
处理二进制文件,将其视为文本文件 |
-v , --invert-match |
反向匹配,显示不匹配的行 |
-w , --word-regexp |
匹配整个单词,而不是部分匹配 |
-x , --line-regexp |
限制整行匹配 |
--binary-files=TYPE |
指定处理二进制文件的方式,如 binary , text , without-match |
--color[=WHEN] |
匹配项高亮显示,可选的颜色参数 |
--exclude=FILE_PATTERN |
排除指定文件模式 |
--exclude-dir=DIR_PATTERN |
排除指定目录模式 |
--label=LABEL |
在输出中使用 LABEL 替代文件名 |
--line-buffered |
行缓冲输出 |
--null |
输出以 null 分隔的文件名和匹配项 |
--perl-regexp |
使用 Perl 兼容的正则表达式语法 |
--regexp=PATTERN |
指定匹配模式为正则表达式 |
--version |
显示版本信息 |
--help |
显示帮助信息 |
使用grep获取文件中的ip
[root@AY140330180959236303Z www]# cat ip.log
oooooo
192.168.1.2
mmm
192.168.1.3
ddd
192.168.1.4
bbbb
192.168.1.5
aaaaa
[root@AY140330180959236303Z www]# grep '^\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}$' ./ip.log
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
[root@AY140330180959236303Z www]#
没有评论
博主关闭了评论...