码迷,mamicode.com
首页 > 其他好文 > 详细

grep基本介绍

时间:2018-08-17 12:09:32      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:ftp   2-2   文本过滤   before   eal   sea   spool   显示   blkid   

这篇文章 ,主要介绍grep的基本使用

grep (Global search REgular expression and Print out the line)),是一个文本过滤工具;

  1. 作用
    根据特定的模式,对文件逐行进行匹配检查,打印匹配到的行
    模式:即过滤的条件,可以由变量、命令、双引号字符等组成;

  2. 选项

    --color=auto:对匹配到的文本着色显示,Centos7默认已经定义为别名
    -v:           显示不被模式所匹配到的行,即反选
    -i:           忽略大小写
    -n:           显示匹配的行号
    -c:           统计匹配的行数
    -o:           仅显示匹配到的字符串,而不是整行,默认显示整行
    -q:           静默模式,不输出任何信息
    -e:           实现多个选项之间的逻辑or关系
    -w:           匹配整个单词
    -A #(数字):   同after,即把匹配到的行以及后#行显示出来
    -B #:         同before,即把匹配到的行以及前#行显示出来
    -C #:         把匹配到的行以及前后各#行都显示出来
    -E:          相当于egrep,扩展正则表达式,默认grep仅支持标准正则表达式
    -F:           相当于fgrep,不支持正则表达式
    -f:           可以匹配两个文件中的公共行
  3. 示例如下:
    • -v
      环境准备
      [root@CentOS6 data ]#cat test 
      aaa
      bbb
      ccc
      ddd
      xin
      xin
      yuanhohl
      [root@CentOS6 data ]#grep ‘a‘ test 
      aaa
      yuanhohl
      [root@CentOS6 data ]#grep -v ‘a‘ test 
      bbb
      ccc
      ddd
      xin
      xin
  • -n

    [root@CentOS6 var ]#grep  -n "UUID" /etc/fstab 
    9:UUID=91054f47-59f0-4c0f-9136-d1a824233866 /                       ext4    defaults        1 1
    10:UUID=38fafd9a-a99a-48e2-8112-2016e04db828 /boot                   ext4    defaults        1 2
    11:UUID=ec1e0b78-b7c4-44b4-90f7-63bd23ed129e /data                   ext4    defaults        1 2
    12:UUID=a8fd9779-45d3-449b-aa16-12532df94d4b swap                    swap    defaults        0 0
  • -c

    [root@CentOS6 var ]#grep  -c "UUID" /etc/fstab 
    4
  • -o

    [root@CentOS6 var ]#grep  -o "UUID" /etc/fstab 
    UUID
    UUID
    UUID
    UUID
  • -q

    [root@CentOS6 var ]#grep  -q "UUID" /etc/fstab 
    [root@CentOS6 var ]#echo $?
    0
  • -A 、-B、-C
[root@CentOS6 var ]#grep  -A 2 "UUID" /etc/fstab 
UUID=91054f47-59f0-4c0f-9136-d1a824233866 /                       ext4    defaults        1 1
UUID=38fafd9a-a99a-48e2-8112-2016e04db828 /boot                   ext4    defaults        1 2
UUID=ec1e0b78-b7c4-44b4-90f7-63bd23ed129e /data                   ext4    defaults        1 2
UUID=a8fd9779-45d3-449b-aa16-12532df94d4b swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
[root@CentOS6 var ]#
[root@CentOS6 var ]#grep  -B 2 "UUID" /etc/fstab 
 See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=91054f47-59f0-4c0f-9136-d1a824233866 /                       ext4    defaults        1 1
UUID=38fafd9a-a99a-48e2-8112-2016e04db828 /boot                   ext4    defaults        1 2
UUID=ec1e0b78-b7c4-44b4-90f7-63bd23ed129e /data                   ext4    defaults        1 2
UUID=a8fd9779-45d3-449b-aa16-12532df94d4b swap                    swap    defaults        0 0
[root@CentOS6 var ]#grep  -C 2 "UUID" /etc/fstab 
 See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=91054f47-59f0-4c0f-9136-d1a824233866 /                       ext4    defaults        1 1
UUID=38fafd9a-a99a-48e2-8112-2016e04db828 /boot                   ext4    defaults        1 2
UUID=ec1e0b78-b7c4-44b4-90f7-63bd23ed129e /data                   ext4    defaults        1 2
UUID=a8fd9779-45d3-449b-aa16-12532df94d4b swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
[root@CentOS6 var ]#
  • -e
[root@CentOS6 var ]#grep -e root -e nologin /etc/passwd     ##注意每个条件之前都要加-e
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
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
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rtkit:x:499:499:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
  • -w
环境准备:
##默认会将包含root的字符串全部打印;
[root@CentOS6 var ]#useradd rooter
[root@CentOS6 var ]#grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
rooter:x:501:501::/home/rooter:/bin/bash                
使用-w,仅答应root的行
[root@CentOS6 var ]#grep -w "root" /etc/passwd          
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

grep基本介绍

标签:ftp   2-2   文本过滤   before   eal   sea   spool   显示   blkid   

原文地址:http://blog.51cto.com/13668904/2161058

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