Linux 基本命令(十)--grep 常用命令

2019-09-24


 

grep  文本过滤工具

语法格式:grep 【options】【pattern】【file】 grep [参数] [匹配模式] [查找的文件]
注意:
1.grep 是 Linux 系统中最重要的命令之一,其功能是从文本文件或管道数据流中筛选匹配的行及数据。
2.grep 命令里的匹配模式或模式匹配,都是你要好找的东西,可以是普通的文字符号也可以是正则表达式。
参数选项:

参数说明
-c计算找到‘搜索字符串’的行数
-o指数出匹配的内容
-i不区分大小写
-n显示匹配内容的行号
-r当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作
-v反向选择,即没有‘搜索字符串’内容的行
-l列出文件内容符合指定的范本样式的文件名称
-E扩展 grep,即 egrep,可以使用扩展正则表达式
--color=auto搜索关键词显示颜色
-V显示软件版本信息

 

 

 

 

 

 

 

 

 

案例文件:
Linux常用命令——grep
案例一:
参数举例
参数 -c、-o、-i 举例
Linux常用命令——grep
参数 -n 举例
Linux常用命令——grep
注意:自己测试一些含有正则表达式的检索,发现 egrep 可以实现的,grep 也可以实现。但例如:egrep -v "^$|#" file1.txt ,grep 就实现不了,是因为 egrep 增加了额外的正则表达式元字符集的效果,而对于标准grep,这时在扩展元字符前面加 \ ,grep 便会自动启用扩展选项-E
Linux常用命令——grep


案例二:
grep正则表达式元字符集

字符集说明案例
\^锚定行的开始如:'^grep' 匹配所有以 grep 开头的行
$锚定行的结束如:'grep$' 匹配所有以 grep 结尾的行
.匹配一个非换行符的字符如:'gr.p' 匹配 gr 后接一个任意字符,然后是 p
*匹配零个或多个先前字符如:' *grep' 匹配所有一个或多个空格后紧跟 grep 的行。 .* 一起用代表任意字符
[ ]匹配一个指定范围内的字符如:'[Gg]rep' 匹配 Grep 和 grep
[^ ]匹配一个不在指定范围内的字符如:'[^A-FH-Z]rep' 匹配不包含 A-F 和 H-Z 的一个字母开头,紧跟 rep 的行
\(..\)标记匹配字符如:'(love)',love 被标记为1
\<锚定单词的开始如:'\<grep' 匹配包含以grep开头的单词的行
\>锚定单词的结束如:'grep\>' 匹配包含以grep结尾的单词的行
x{m}连续重复字符 x,m 次如:'o{5}' 匹配包含连续5个o的行
x{m,}连续重复字符 x,至少 m 次如:'o{5,}' 匹配至少连续有5个 o 的行
x{m,n}连续重复字符 x,至少 m 次,不多于 n 次如:'o{5,10}' 匹配连续 5-10 个 o 的行
\w匹配一个文字和数字字符也就是 [A-Za-z0-9]如:'G\w*p' 匹配以 G 后跟零个或多个文字或数字字符,然后是p
\Ww 的反置形式,匹配一个非单词字符如:点号句号等。\W* 则可匹配多个
\b单词锁定符如: '\bgrep\b' 只匹配 grep,即只能是 grep 这个单词,两边均为空格

 

 

 

 

 

 

 

 

 

 

 

 

 

案例三:
常见用法
字符集 \^、\<、\ \ 举例
Linux常用命令——grep
命令 grep 在文件中查找字符
Linux常用命令——grep
参数 -l 的使用
Linux常用命令——grep
命令 egrep 与参数 -v 的及字符集的使用举例
Linux常用命令——grep
注意:去掉空行与注释行
案例四:
递归搜索文件,参数 -r、-e、-o、-n 的使用举例
Linux常用命令——grep
Linux常用命令——grep
案例五:
grep搜索结果中包括或者排除指定文件
1.--exclude 在搜索结果中排除等号后所有文件
Linux常用命令——grep
2.--exclude-from 在搜索结果中排除filelist文件列表里的文件
Linux常用命令——grep
3.--include 只在所指定的目录文件中递归搜索字符 " and "
Linux常用命令——grep
案例六:
使用 0 值字节后缀的 grep 与 xargs
Linux常用命令——grep
注意:-Z 参数个人理解为取消换行符"以一行的形式显示内容",xargs -0 是来解决不能"以一行的形式执行显示内容“传参这个问题的,-Z通常和-l结合使用。(-Z选项来指定以0值字节作为终结符文件名(\0),xargs -0 读取输入并用0值字节终结符分隔文件名)
案例七:
打印出匹配文本之前或者之后的行
参数 -A、-B、-C 的使用举例
Linux常用命令——grep
Linux常用命令——grep
注意:如果匹配结果有多个,会用 " -- " 作为各匹配结果之间的分隔符,如果多个结果显示的行数相连或重叠则不会显示 " -- " 分隔符

转自:https://blog.51cto.com/12384628/2162402

转载于:https://www.cnblogs.com/fqxy/p/11578147.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值