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"

  • 相关阅读:
    定义函数的三种形式
    函数的定义
    文件修改的两种方式
    文件的高级应用
    with管理文件操作上下文
    SQL Server 823,824 错误
    SQL Server 无法启动的 4 种原因
    SQL Server 查看正在运行的事务信息的 2 种方法。
    MySQL 指定数据库字符集的 3 种方法。
    MYSQL 注释的 3 方法
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/8945366.html
Copyright © 2011-2022 走看看