zoukankan      html  css  js  c++  java
  • linux shell中的正则表达式

    正则表达式的使用

    正则表达式,又称规则表达式。(英语:Regular Expression [ˈreɡjulə] 规则的 [ iksˈpreʃən] 表达 ),在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

    正则表达式不只有一种,而且LINUX中不同的程序可能会使用不同的正则表达式,如:

    工具:grep   sed   awk   (这三个并称为linux中的文本三剑客)

    LINUX中常用的有两种正则表达式引擎

    基础正则表达式:BRE

    扩展正则表达式:  ERE

    Shell正则表达式的组成

    基础正则表达式

    特别字符

    描述

    $

    匹配输入字符串的结尾位置。要匹配 $ 字符本身,请使用 $

    ( )

    标记一个子表达式的开始和结束位置。要匹配这些字符,请使用 ( 和 )

    *

    匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *

    +

    匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +

    .

    匹配除换行符 之外的任何单字符。要匹配 . ,请使用 .

    [

    标记一个中括号表达式的开始。要匹配 [,请使用 [

    ?

    匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?

    将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。' ' 匹配换行符。序列 '\' 匹配 "",而 '(' 则匹配 "("

    ^

    匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^

    {

    标记限定符表达式的开始。要匹配 {,请使用 {

    |

    指明两项之间的一个选择。要匹配 |,请使用 |   如:  Y | y

    定位符

    ^

    匹配输入字符串开始的位置

    $

    匹配输入字符串结尾的位置

    非打印字符

    匹配一个换行符

    匹配一个回车符

    匹配一个制表符

    例:统计/etc/ssh/sshd_config文件中除去空行和#号开头的行的行数

    [root@www ~]# grep -v "^$|^#" /etc/ssh/sshd_config      #使用基础正则表达式

    [root@www ~]# grep -E -v "^$|^#" /etc/ssh/sshd_config   #扩展正则表达式

    [root@www ~]# egrep -v "^$|^#" /etc/ssh/sshd_config      #扩展正则表达式

     

    2:点字符

    [root@www ~]# grep .ot /etc/passwd   #查找passwd文件包括.ot 的字符

    root:x:0:0:root:/root:/bin/bash

    operator:x:11:0:operator:/root:/sbin/nologin

    setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin

  • 相关阅读:
    从C#下使用WM_COPYDATA传输数据说到Marshal的应用
    关于C#中实现两个应用程序消息通讯的问题
    内核模块/lib/modules/2.6.2426server/build: No such file or directory. Stop.
    关于BUILD_BUG_ON
    __user && address_space(1)
    Linux Namespaces机制——实现
    inetsw_array的定义中有四个元素IPPROTO_TCP,IPPROTO_UDP,IPPROTO_ICMP,IPPROTO_IP
    需求调研中有效沟通系列如何确认需求?
    ITSM & ITIL QQ群 2月28日讨论 ITIL中什么最重要和优先级最高的聊天记录和总结
    .NET平台下开发HelpDesk(服务台)的广泛应用前景分析
  • 原文地址:https://www.cnblogs.com/fusheng11711/p/10794663.html
Copyright © 2011-2022 走看看