• (13)gawk支持的正则表达式


    gawk支持的正则

    .       # 匹配任意字符,包括换行符
    ^
    $
    [...]
    [^...]
    |
    +
    *
    ?
    ()
    {m}
    {m,}
    {m,n}
    {,n}
    
    [:lower:]
    [:upper:]
    [:alpha:]
    [:digit:]
    [:alnum:]
    [:xdigit:]
    [:blank:]
    [:space:]
    [:punct:]
    [:graph:]
    [:print:]
    [:cntrl:]
    
    以下是gawk支持的:
    y    匹配单词左右边界部分的空字符位置 "hello world"
    B    和y相反,匹配单词内部的空字符位置,例如"crate" ~ `/cBratBe/`成功
    <    匹配单词左边界
    >    匹配单词右边界
    s    匹配空白字符
    S    匹配非空白字符
    w    匹配单词组成字符(大小写字母、数字、下划线)
    W    匹配非单词组成字符
    \`    匹配字符串的绝对行首  "abc
    def"
    '    匹配字符串的绝对行尾

    gawk不支持正则修饰符,所以无法直接指定忽略大小写的匹配。

    如果想要实现忽略大小写匹配,则可以将字符串先转换为大写、小写再进行匹配。或者设置预定义变量IGNORECASE为非0值。

    # 转换为小写
    [root@docker-01 ~]# awk 'tolower($0) ~ /bob/{print $0}' a.txt
    1   Bob     male    28   abc@qq.com     18023394012
    # 设置IGNORECASE
    [root@docker-01 ~]# awk '/BOB/{print $0}' IGNORECASE=1 a.txt
    1   Bob     male    28   abc@qq.com     18023394012
  • 相关阅读:
    #define用法详解
    memchr函数
    aiohttp模块1 client
    asyncio标准库7 Producer/consumer
    asyncio标准库6 Threads & Subprocess
    asyncio标准库5 TCP echo client and server
    asyncio标准库4 asyncio performance
    asyncio标准库3 HTTP client example
    asyncio标准库2 Hello Clock
    asyncio标准库1 Hello World
  • 原文地址:https://www.cnblogs.com/liujunjun/p/12396257.html
Copyright © 2020-2023  润新知