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

[经验分享] linux grep 基本正则表达式与扩展正则表达式使用解析

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-19 21:11:40 | 显示全部楼层 |阅读模式
成功的秘诀很简单=开始+坚持
接下来介绍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 来统计行数。
好累啊!  今天就写到这了,以后再做补充。


运维网声明 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-17825-1-1.html 上篇帖子: Cent Os使用pppoe拨号连接网络 下篇帖子: Linux 下挂载硬盘的 方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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