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

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

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

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

先介绍下grep的基本语法

 

grep [options] ‘pattern’ file

常用选项:

-i     不区分字符大小写;

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

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

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

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

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

 

元字符的介绍:

^    行首锚定符,用法格式 "^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

wKiom1NQrZeQHRAOAADEDvUhq8A148.jpg

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

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

wKioL1NQrv6xJJ0-AAGNBHGe0_Y580.jpg

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

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

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

wKiom1NQshKB4N_HAACOF1EjAms175.jpg

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

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

wKiom1NQt9igpxrzAAEaz4srMJk740.jpg

5、ifconfig eth0 只取出IP地址;

#    ifconfig eth0 | grep -o 'inet addr:[^[:space:]]* | cut -d: -f2

wKioL1NQuaryKHEgAAB0PpPzA7s379.jpg

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

#    grep "^student:"  /etc/passwd

wKioL1NQuy3QrpqGAAB4HIdE25U824.jpg

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

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

wKiom1NQvZvgpKJJAACaUj-Maqg606.jpg

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

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


本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1397819


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值