zoukankan      html  css  js  c++  java
  • 正则表达式

     正则表达式很重要。
    正则表达式是用在字符串处理中的“表达式”,以行为单位进行字符串的处理,通过一些特殊符号的辅助,,可以让用户轻松搜索/替换某特定字符串。正则表达式对于系统管理员来说很重要,因为系统会产生很多信息,这些信息
    有的重要,有的仅是告知用户一些信息。此时,管理员可以通过正则表达式的功能将重要信息选取出来,产生便于查看的报表,简化管理流程。
    1、通过grep选取字符串
    语法:grep [-acinv] '搜索字符串' filename
    参数说明:-a:在二进制文件中,以文本文件的方式搜索数据
    -c:计算找到 '搜索字符串' 的行数
    -i:忽略大小写
    -n:输出行号
    -v:反向选择,即显示出没有 '搜索字符串' 的那一行
    例如:
    [root@rac1 tmp]# grep 'root' secure
    Aug 4 13:32:43 rac1 gdm[3140]: pam_unix(gdm:session): session opened for user root by (uid=0)
    Aug 4 13:33:54 rac1 sshd[3404]: Accepted password for root from 192.168.72.1 port 58118 ssh2
    Aug 4 13:33:54 rac1 sshd[3404]: pam_unix(sshd:session): session opened for user root by (uid=0)
    Aug 4 16:43:40 rac1 sshd[8006]: Accepted password for root from 192.168.72.1 port 59116 ssh2
    Aug 4 16:43:40 rac1 sshd[8006]: pam_unix(sshd:session): session opened for user root by (uid=0)
    [root@rac1 tmp]# grep -n 'root' secure
    9:Aug 4 13:32:43 rac1 gdm[3140]: pam_unix(gdm:session): session opened for user root by (uid=0)
    10:Aug 4 13:33:54 rac1 sshd[3404]: Accepted password for root from 192.168.72.1 port 58118 ssh2
    11:Aug 4 13:33:54 rac1 sshd[3404]: pam_unix(sshd:session): session opened for user root by (uid=0)
    12:Aug 4 16:43:40 rac1 sshd[8006]: Accepted password for root from 192.168.72.1 port 59116 ssh2
    13:Aug 4 16:43:40 rac1 sshd[8006]: pam_unix(sshd:session): session opened for user root by (uid=0)
    [root@rac1 tmp]# grep -c 'root' secure
    5

    grep
    说明
    ^word
    待搜索的字符串在行首
    word$
    待搜索的字符串在行尾
    .
    代表”任意一个字符“,一定是一个任意字符
    
    
    转义符,将特殊符号的意义去除
    *
    重复零个或多个前一个字符
    {n,m}
    连续n到m个的“前一个重复字符”
    []
    字符集合的重复特殊字符的符号
     
     
    egrep
    说明
     +
    重复字符次数一次或一次以上
     ?
    重复字符0次或以上
     |
    用或(or)的方式找出数个字符串
     ()
    找出“用户组”字符串
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

















    最后写个例子:去除syslog.conf文件中空行及以#开头的行。
    [root@rac1 tmp]# grep -v '^$' syslog.conf | grep -v '^#'
    *.info;mail.none;authpriv.none;cron.none /var/log/messages
    authpriv.* /var/log/secure
    mail.* -/var/log/maillog
    cron.* /var/log/cron
    *.emerg *
    uucp,news.crit /var/log/spooler
    local7.* /var/log/boot.log
    
    
  • 相关阅读:
    Python之路【第八篇】(一)python基础 之计算机操作系统发展史
    Python之路【第六篇】python基础 之异常处理
    Python之路【第七篇】python基础 之socket网络编程
    Python之路【第六篇】python基础 之面向对象进阶
    Python之路【第六篇】python基础 之面向对象(一)
    Fastdfs 部署干货
    Mysql 优化配置2
    Elk 进阶部署
    Elk
    python pickle
  • 原文地址:https://www.cnblogs.com/zhaoshuangshuang/p/3236631.html
Copyright © 2011-2022 走看看