1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux grep 基本正则表达式与扩展正则表达式使用解析

linux grep 基本正则表达式与扩展正则表达式使用解析

时间:2019-06-16 20:34:27

相关推荐

linux grep 基本正则表达式与扩展正则表达式使用解析

成功的秘诀很简单=开始+坚持

接下来介绍grep和基本的正则表达式:

当大家需要从某个文本中,或者信息中检索数据时就要用上grep了

先介绍下grep的基本语法

grep[options]‘pattern’file

常用选项:

-i不区分字符大小写;

-v反向选取,只显示不匹配模式的行;

-o只显示被模式匹配到的字符串

-E使用扩展的正则表达式grep-E=egrep

--color=auto把匹配到的项,显示红色。

常用的也就这几个,如果大家要获取更多,请自行mangrep。

元字符的介绍:

^行首锚定符,用法格式"^pattern"

$行尾锚定符,用法格式"pattern$"

.匹配任意单个字符

*匹配紧挨在其前面的字符任意次

.*匹配任意长度的任意字符

[]匹配指定范围内的任意单个字符

\?匹配紧挨在其前面的字符0次或1次

\{m,n\}匹配其前面的字符至少m次至多n次

\{0,n\}至多n次

\{m,\}至少m次

\{m\}精确m次

\<锚定词首,用法格式:\<pattern

\>锚定词尾,用法格式:pattern\>

接下来举几个例子:

1、显示/proc/meminfo文件中以不区分大小写的s开头的行;

#grep-i"^s"/proc/meminfo

2、显示当前系统不能登录shell的用户;

#grep"/sbin/nologin\>"/etc/passwd

看到没,这里用的\>词尾锚定。

3、显示shell为bash,且其用户ID号最小的用户的用户名;

#grep"bash\>"/etc/passwd|sort-t:-k3|head-n1

4、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;

#grep'^[[:space:]]\{1,\}

5、ifconfigeth0只取出IP地址;

#ifconfigeth0|grep-o'inetaddr:[^[:space:]]*|cut-d:-f2

6、查找当前系统上名字为student的用户帐户相关信息;

#grep"^student:"/etc/passwd

7、显示/proc/cpuinfo中的processor开头且后面跟了至少1个空白字符的行,而后统计相关行数。

#grep"^processor[[:space:]]\{1,\}"/proc/cpuinfo|cat-n

这里后面管道也可以跟wc-l来统计行数。

好累啊!今天就写到这了,以后再做补充。

本文转自qw87112 51CTO博客,原文链接:/tchuairen/1397819

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。