• SHELL 脚本 02 GREP命令详解


    grep命令详解:过滤来自一个文件或标准输入匹配模式内容。

    除了 grep 外,还有 egrep。egrep 是 grep 的扩展,相当于 grep -E。

    Usage: grep [OPTION]... PATTERN [FILE]...

    选项描述
    -E,--extended-regexp 模式是扩展正则表达式(ERE)
    -i,--ignore-case 忽略大小写
    -n,--line-number 打印行号
    -o,--only-matching 只打印匹配的内容
    -c,--count 只打印每个文件匹配的行数
    -B,--before-context=NUM 打印匹配的前几行
    -A,--after-context=NUM 打印匹配的后几行
    -C,--context=NUM 打印匹配的前后几行
    --color[=WHEN] 匹配的字体颜色
    -v,--invert-match 打印不匹配的行
    [root@ken ~]# echo "this is ken THIS IS KEN" | grep -i 'ken'
    this is ken THIS IS KEN
    [root@ken ~]# echo "this is ken THIS IS KEN" | grep  'ken'
    this is ken THIS IS KEN
     
    
    2. -n,打印行号
    
    [root@ken ~]# grep -n 'root' /etc/passwd
    1:root:x:0:0:root:/root:/bin/bash
    10:operator:x:11:0:operator:/root:/sbin/nologin
     
    
     3. -o,只打印匹配的内容
    
    [root@ken ~]# echo "this is ken THIS IS KEN" | grep -o 'ken'
    ken
    [root@ken ~]# echo "this is ken THIS IS KEN" | grep  'ken'
    this is ken THIS IS KEN
     
    
    4. -c,打印文件匹配的行数
    
    [root@ken ~]# grep  -c 'root' /etc/passwd
    2
    [root@ken ~]# grep  'root' /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
     
    
    5. -B,打印匹配的前几行
    
    [root@ken ~]# grep -B 3 'root' /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    --
    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
    operator:x:11:0:operator:/root:/sbin/nologin
    
    6.-A,打印匹配的后几行
    
    [root@ken ~]# grep -A 3 'root' /etc/passwd
    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
    --
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    
    7.-C,打印匹配的前后几行
    
    [root@ken ~]# grep -C 3 'root' /etc/passwd
    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
    --
    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
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    
    
    8. --color,在centos7中已经默认为 grep --color,在centos6中需要加上--color才会显示颜色
    
    [root@ken ~]# alias grep 
    alias grep='grep --color=auto'
     
    9. -v, 打印不匹配的行
    
    [root@ken ~]# echo -e "hi
    this is ken
    ncie to meet you
    bye " | grep -v 'ken'
    hi
    ncie to meet you
    bye 
  • 相关阅读:
    关于Application.Lock和Lock(obj)
    ViewState保存在服务器,可定时清空
    firefox选中flash会出现虚线框
    png for ie6背景透明
    用SQL Server Profiler看sql效率时,发现会隔几秒自动执行一些东西
    ServerXMLHTTP的setTimeouts超时设置
    asp.net 正则表达式过滤所有html标签
    .NET技术开发、VS2005快捷键大全
    在TOMCAT中使用JNDI连接数据源
    设计模式系列之Factory深入研究
  • 原文地址:https://www.cnblogs.com/mafy/p/13708124.html
Copyright © 2020-2023  润新知