• shell脚本正则表达式


    grep与正则表达式:
    1、grep 程序
    Linux下有文本处理三剑-----grep sed awk
    grep :文本,行过滤工具
    sed:文本 行编辑器(流编辑器)
    awk:报告生成器(做文本格式化输出)
    grep
    包括三个命令:grep egrep fgrep,他们是用来进行行模式(pattern)匹配
    egrep = grep -E //使用扩展的正则表达式进行匹配
    fgrep=fast grep //只使用文件通配符进行匹配
    *grep默认使用正则表达式进行文本匹配*
    grep 的用法:
    grep 【option】.....PATTERN[filename]
    grep的常见选项---option
    -E 支持使用扩展的正则表达式(ERE)(regexp)
    -P 使用Perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep AWK 使用的regrexp的引擎也是不同的)
    -i忽略大小写
    -v 进行反选
    -o 仅仅输出匹配的内容(默认输出的是匹配到的行)
    --color=auto 语法着色
    -n 显示行号
    a*
    grep 的PATTERN
    作用:通过一些特殊字符,来表示一类字符内容,交给前面的命令来执行;如果使用特殊字符本身含义,就需要进行转义;
    回顾:
    * ? [] [^]
    1、字符匹配
    .代表任意一个字符 相当于?
    [] 范围内任意一个字符
    [^]范围外任意一个字符
    字符类:[:digit:][:alnum:][:lower:][:upper:][:space:][:punct:]
    2、次数匹配
    *匹配前面的字符0次到n次
    ?匹配前面的字符0次到1次
    +匹配前面的字符1次到n次
    {m}匹配前面的字符m次
    {m,n}匹配前面的字符m次到n次
    {0,n}匹配前面的字符0次到n次{0要不要}
    {m}匹配前面的字符至少m次
    3、位置錨钉
    ^锚定行首
    $锚定行尾
    锚定单词词首和词尾
    >锚定词尾
    <锚定词首
    < oot> rooter
    4、分组
    abc* abcccccc abc不是一个整体
    () 示例:(abc)* abcabcabc abcccc
    **分组特性: 默认情况下,Linux系统会为分组指定变量,变量的表示形式1234
    ----------------------------------------------------------------------------------------------------
    练习:
    1、显示/proc/meminfo文件中大小S开头的行
    grep -i *^s"/proc/memminfo

    2、显示/etc/passwd文件中不以/bin/bash结尾的行
    grep- v */bin/bash$ "/etc/passwd
    3、显示/etc/passwd文件中UID号最大的用户的用户名
    sort -n -t;-k3 /etc/passwd |tail -1 | cut -d : -f7
    4、如果用户root存在,显示默认的shell程序
    grep *^root>"/etc/passwd &>/dev/null && grep "^root>"/etc/passwd |cut-d: -f7
    id root & >/dev/null && grep "^rot>"/etc/passwd |cut -d: -f7
    5、找出/etc/passwd 中的二位或三位数
    grep /"[0-9]{2,3}"/etc/passwd
    -w //匹配固定单词
    <[0-9][{2-3}>
    <[0-9][{2,3}
    6、显示/etc/rc.d/rc.sysinit文件中,至少以一个空白字符开头的后面为空白字符的行
    grep "^[[:space:]]+.*[^[:space:]]$"/etc/rc.d/rc.sysinit

  • 相关阅读:
    [Automation] 自动化测试工具和测试框架大集合
    C#借助API实现黑盒自动化测试工具的编写
    C#实现RSA加密解密
    Uipath开发过程中最常见的5类错误
    tqdm介绍及常用方法
    Top-1准确率和Top-5准确率
    focal loss焦点损失
    【深度学习】卷积神经网络中Dropout、BatchNorm的位置选择
    数据增强——mixup
    数据增强之mixup算法详解
  • 原文地址:https://www.cnblogs.com/wangshilin/p/11365094.html
Copyright © 2020-2023  润新知