zoukankan      html  css  js  c++  java
  • (2)三剑客之grep

    1)grep和egrep定义
    grep:在文件中全局查找指定的正则表达式,并打印所有包含该表达式的行
    egrep:扩展的egrep,支持更多的正则表达式元字符
    2)命令格式
    语法:grep [选项] pattern filename1 filename2 ....
    #grep "root" /etc/passwd
        找到:grep返回的退出状态为0
        没找到:grep返回的退出状态为1
        找不到指定文件:grep返回的退出状态为2
    grep程序的输入可以来自标准输入或管道:ll /etc/ | grep "^d"
    3)grep使用的元字符
    grep: 使用基本的元字符 ^ $ . * [] [^] [-] () m{x}    < >  
        注:grep也可以使用扩展集中的元字符,仅需要对这些元字符前置一个反斜线
    egrep :使用扩展的元字符 + ? () | x{m}
        
    w  所有字母与数字,[0-9A-Za-z]
    W  所有字符与数字以外的字符  [^0-9A-Za-z]
        词边界    "root"    "<root>"
    4)grep选项
        -i        忽略大小写
        -l        只列出匹配行所在的文件名    grep -l "root" /etc/passwd /etc/shadow
        -n        在每一行前面加上它文件中的相对行号        grep -l "root" /etc/* 2>/dev/null   结合vim /etc/passwd +50 神器
        -c        显示成功匹配的行数        grep -c "root" /etc/passwd
        -s         禁止显示文件不存在或文件不可读的错误信息    grep -s  "root" /etc/fdasfasdfadsfa
        -q        静默
        -v        反向查找,只显示不匹配的行
        -R或-r    递归针对目录    grep -r "root" /etc/
        --color    颜色
        -o        只显示匹配的内容
        -B        除了显示匹配的一行之外,并显示该行之前的num行    grep -B 2 "root" /etc/passwd  
        -A        除了显示匹配的一行之外,并显示该行之后的num行
        -C        除了显示匹配的一行之外,并显示该行之前后各num行
    5)常见例子
    匹配ip地址:egrep "([0-9]+.){3}([0-9]+)" /etc/sysconfig/network-scripts/ifcfg-ens33
    查看帮助斜线转义:useradd --help | grep "-g"

  • 相关阅读:
    Redis学习
    extractor
    Linux fork exec等
    Linux kill 命令
    GCC参数使用
    Shell 参数(2) --解析命令行参数工具:getopts/getopt
    Shell 参数(1)
    shell 中并发执行
    Linux 下新增用户的流程
    Linux 安全rm
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/8945366.html
Copyright © 2011-2022 走看看