• 三剑客之grep


    根据内容过滤文本信息
    grep
    [root@rstx-201 ~]# grep root /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    
    加上通配符^  以root开头
    grep ^root /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    
    加上通配符$  以bash结尾
    grep bash$ /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
    yangtao:x:1001:1001::/home/yangtao:/bin/bash
    
    grep -n 显示过滤的行号
    [root@rstx-53 odoo-backup]# grep -n  root /etc/services 
    1829:rootd           1094/tcp                # ROOTD
    1830:rootd           1094/udp                # ROOTD
    
    grep -n -A 3 匹配到的结果向下展示三行
    [root@rstx-53 odoo-backup]# grep -n -A3  root /etc/services 
    1829:rootd           1094/tcp                # ROOTD
    1830:rootd           1094/udp                # ROOTD
    1831-nicelink        1095/tcp                # NICELink
    1832-nicelink        1095/udp                # NICELink
    1833-cnrprotocol     1096/tcp                # Common Name Resolution Protocol
    
    grep -n -B 3 匹配到的结果向上展示三行
    [root@rstx-53 odoo-backup]# grep -n -B3  root /etc/services 
    1826-obrpd           1092/udp                # Open Business Reporting Protocol
    1827-proofd          1093/tcp                # PROOFD
    1828-proofd          1093/udp                # PROOFD
    1829:rootd           1094/tcp                # ROOTD
    1830:rootd           1094/udp                # ROOTD
    
    grep -n -C 3 匹配到的结果向上展示三行向下展示三行
    [root@rstx-53 odoo-backup]# grep -n -C3  root /etc/services 
    1826-obrpd           1092/udp                # Open Business Reporting Protocol
    1827-proofd          1093/tcp                # PROOFD
    1828-proofd          1093/udp                # PROOFD
    1829:rootd           1094/tcp                # ROOTD
    1830:rootd           1094/udp                # ROOTD
    1831-nicelink        1095/tcp                # NICELink
    1832-nicelink        1095/udp                # NICELink
    1833-cnrprotocol     1096/tcp                # Common Name Resolution Protocol
    
    grep -i 过滤的字符不区分大小写
    [root@rstx-53 ~]# cat test.txt 
    root
    ROOT
    [root@rstx-53 ~]# grep -n root test.txt 
    1:root
    [root@rstx-53 ~]# grep -n -i root test.txt 
    1:root
    2:ROOT
    
    grep -v 取反
    [root@rstx-53 ~]# cat test.txt 
    root
    ROOT
    [root@rstx-53 ~]# grep  root test.txt 
    root
    [root@rstx-53 ~]# grep -v  root test.txt 
    ROOT
    
    grep -E 过滤多个字符串
    [root@rstx-53 ~]# grep -Ei   "root|ROOT"  test.txt 
    root
    ROOT
    [root@rstx-53 ~]# egrep   "root|ROOT"  test.txt 
    root
    ROOT
    
    grep -w 设定边界过滤
    [root@rongbiz002 26]# ifconfig eth0|grep -w inet
            inet 192.168.0.35  netmask 255.255.0.0  broadcast 192.168.255.255
    
    grep -o 显示匹配过程
    [root@RainGod ~]# cat test.txt 
    11
    
    22
    [root@RainGod ~]# grep "." test.txt -o 
    1
    1
    2
    2
    
  • 相关阅读:
    lambda 和 iterable
    使用Jenkins部署Python项目
    python下selenium自动化测试自我实践
    【其它】数学学科编码
    【其它】音阶中的数学
    【数理统计基础】 06
    【数理统计基础】 05
    【数理统计基础】 04
    【数理统计基础】 03
    【数理统计基础】 02
  • 原文地址:https://www.cnblogs.com/yangtao416/p/14832499.html
Copyright © 2020-2023  润新知