码迷,mamicode.com
首页 > 系统相关 > 详细

Linux三剑客之grep

时间:2016-10-11 22:28:13      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:linux   三剑客   grep文本搜索   

linux三剑客之grep



  grep命令是一个强大的文本搜索工具,全称是Global Regular Expression Print,它能使用正则表达式搜索文本,并把匹配的行打印出来,使用权限是所有用户


1、使用格式

    grep [OPTIONS] PATTERN [FILE...]

    grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

    grep 关键词 文本文件


2、比较常用的参数

    -c:仅显示找到的次数

    -i:忽略大小写

    -n:显示行号

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

    -v:反向匹配,仅列出没有"关键词"的行

    -E:使用扩展的正则表达式,可以添加多个搜索项,等价于egrep命令

    -A n:显示匹配到的行及其后n行

    -B n:显示匹配到的行及其前n行

    -C n:显示匹配到的行及其前n行和后n行

    --color[=auto]:查到的关键字高亮显示


3、简单实例

    以/etc/passwd文件作为查找文件,执行如下操作:

    

1)找到文件中带有root的行:

[root@acer ~]# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

2)找到文件没有nologin的行:

[root@acer ~]# grep -v "nologin" /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
ning:x:500:500::/home/ning:/bin/bash

3)找到文件中带有shutdown的行及其后5行:

[root@acer ~]# grep "shutdown" -A 5 /etc/passwd
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin


4、grep高级用法

    想要实现高级用法,须配合正则表达式及管道


1)找到文件中以root开头的行(锚定行首)

[root@acer ~]# grep "^root" /etc/passwd
root:x:0:0:root:/root:/bin/bash

3)显示文件中以a或b或c开头的行(正则表达式、锚定行首)

[root@acer ~]# grep "^[abc]" /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin

3)取出用户默认shell为bash的用户名及其UID(锚定行尾、管道、cut命令)

[root@acer ~]# grep "bash$" /etc/passwd | cut -d : -f1,3
root:0
ning:500


  总之,grep命令是一个很强大的文本搜索命令,它可以配合管道、重定向、正则表达式等实现强大的文本搜索功能,是linux中重要的命令之一。

本文出自 “纸盒人” 博客,请务必保留此出处http://zhiheren.blog.51cto.com/12120978/1860656

Linux三剑客之grep

标签:linux   三剑客   grep文本搜索   

原文地址:http://zhiheren.blog.51cto.com/12120978/1860656

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!