设为首页 收藏本站
查看: 538|回复: 0

[经验分享] Linux命令之Grep

[复制链接]

尚未签到

发表于 2017-11-17 14:53:54 | 显示全部楼层 |阅读模式
  grep命令在Linux的学习中,是一个大头,如果能灵活运用,会让日常的工作简便不少。
  闲话不多说,但是在介绍之前,有必要来讲讲正则表达式:
  正则表达式:
  正则表达式有两种:①基本正则表达式;②扩展正则表达式;
  基本扩展表达式有:
符号含义
abcd  匹配abcd
.匹配任意单个字符
* 匹配前一个字符0次或多次
.*           匹配所有内容  
[ ]    匹配集合中的任意单个字符,括号中为一个集合 
[a-d]匹配连续的字符范围,即a到d所有字母
^ 匹配整行的开头
$    匹配整行的结尾
\<  定界作用,表示一字串的最左端
\>定界作用,表示一字串的最右端,\<abcd\>即可锁定匹配abcd
[^]取反匹配,所有不在[^ ]中的内容都匹配
\  转义作用,①用于基本正则表达式的部分功能实现:\<等;②用于扩展正则表达式的转义作用
\?匹配前一字符0次或1次
\+匹配前一字符1次或多次
\{n,m\}匹配前一字符n到m次之间
\{n,\}匹配前一字符n次以上(至少匹配n次)
\{n\}匹配前一字符n次
\( \)匹配内容,并将内容依次存储到“保留空间1 保留空间2 保留空间3.....”,最多有9个
\n  n为数字,表示调用\( \)保留空间中的内容,并且匹配该内容
  扩展正则表达式有:
符号含义
{n,m}与基本正则表达式中的\{\}作用相同,不再赘述
+匹配前一字符1次或多次
匹配前一字符0次或1次
|逻辑或匹配,即匹配 | 前或后的字符(串)
( )  匹配正则集合,和|搭配使用,(a|b)cd即匹配acd或bcd等同于(acd|bcd)
  Grep命令介绍:
  所在路径:/bin/grep
  类型:外部命令
  语法:grep [option] pattern file
  作用:在文件、标准输入中搜索被模式所匹配的内容并输出(并不会更改原文件内容)
  选项:
  -A n   显示被匹配到的内容所在行的n行(包含被匹配内容所在行,共n+1行被输出)
  -B n   显示被匹配到的内容所在行的n行(包含被匹配内容所在行,共n+1行被输出)
  -C n   显示被匹配到的内容所在行的前后n行(包含被匹配内容所在行,共2n+1行被输出)
  -c    统计凡是被模式匹配到的行数(一行内有多处被匹配到也算为一行)
  -E   激活扩展正则表达式=egrep命令
  -f file       从文件中读取匹配模式的内容
  -i     忽略大小写
  -l     列出包含匹配模式内容的文件的绝对路径,和-R选项搭配,如此一来,grep后面就可以接目录了
  -m   只匹配规定的行数(就原文件中的行数而言)
  -n    显示被匹配内容在原文件中的行数  
  -o    只打印被匹配到的内容
  -R    递归查找,后面接目录或者多个文件
  -v    反向打印,排除被匹配到的内容行,输出剩余行的内容
  -w      定界作用,相当于“\<...\>”,精确限制字符串的长度和内容
  -x    定界作用,相当于“^...$”,精确限制整行的内容
            

      示例:

         (1)查找指定进程
                     ps -ef | grep "svn"
         (2)查找指定进程个数
                     ps -ef | grep "svn" -c
         (3)从文件中读取关键词
                     cat test1.txt | grep -f key.log
         (4)从文件夹中递归查找以grep开头的行,并只列出文件
                     grep -lR '^grep' /tmp
         (5)查找非x开关的行内容
                     grep '^[^x]' test.txt
         (6)显示包含ed或者at字符的内容行
                     grep -E 'ed|at' test.txt

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407919-1-1.html 上篇帖子: 28.Linux-IIC驱动(详解) 下篇帖子: Linux cat命令详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表