Linux shell编程 6 ---- 正则表达式

 1 正则表达式

    1 正则表达式是由一串字符和元字符组成的字符串,简称RE(Rugular Expression)

    2 正则表达式中的字符分为两种普通字符和元字符

       比如a,1,2等等是普通字符,但是*,.,[],等等是元字符

    3 基本正则表达式中元字符的意义

      符号                 
意思

         *                     
匹配0个或多个*之前的那个普通字符

         .                     匹配任意字符

        
^                     
匹配行首,或者是后面字符的非

         $                      匹配行末

         []                     匹配字符集

        
\                     转义字符

    4 正则表达式的扩展

      符号                 
意思

         ?                      匹配0个或1个在其之前的那个普通字符

         +
                    匹配1个或多个在其之前的那个普通字符    

         ()                      匹配字符集或者是用在expr中

          |                      匹配一组可选的字符

 2 bash shell的通配

    1 * 符号不再表示匹配1个或多个其之前的普通字符,现在表示的是匹配一个任意长度的普通字符

    2? 符号不再表示匹配0个或1个在其之前的那个普通字符,现在表示的是匹配任意一个普通字符

    3 ^ 符号不再表示匹配行首,现在表示的是取反

   

 3GREP

   
1global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来

    2 grep是一种强大的文本搜索工具,它可以使用正则表达式来搜索文本并打印出来

   3
grep命令的基本用法

      
grep选项 模式 文件

   4
grep命令的重要选项及其意义

      选项             
意义

       
-c                只输出匹配的行的数量

       
-i                  搜索时候忽略大小写

       
-h                 搜索多文件时不显示文件名

       
-l                 只列出匹配的文件名,而不列出具体的匹配行

       -n                
列出所有匹配的行,并显示行号

       
-v                 显示不包含匹配文本的行

       

时间: 2024-11-01 08:33:50

Linux shell编程 6 ---- 正则表达式的相关文章

linux shell编程中date命令的用法

在linux shell编程中,经常用到日期的加减运算 以前都是自己通过expr函数计算,很麻烦 其实date命令本身提供了日期的加减运算 非常方便.例如:得到昨天的时间 date +%Y%m%d --date="-1 day" date 用法: date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date 可以用来显示或设定系统的日期与时间. 令1.在显示方面,使用者可以设定欲显

Linux shell编程基础 三、shell的基本结构

shell结构大体是由设定变量.内置命令.shell的语法结构.函数组成. 使用实例说明:test.sh #!/bin/bash #说明使用/bin/bash作为这个脚本的解释器 #定义一个函数 function my_fun () { echo "Hello, $1,today is $2" } #定义连个变量 name=$1 today=`date` #函数调用 my_fun "$name" "$today" 上面的这个脚本要想运行还需要做一

linux shell编程 sed指令问题

问题描述 linux shell编程 sed指令问题 在同一个目录下有两个文件oracle-ds.xml,postgresql-ds.xml 我分别执行指令 sed -n '/^ */p' oracle-ds.xml sed -n '/^ */p' postgresql-ds.xml 为什么oracle-ds.xml 的可以匹配到,而postgresql-ds.xml无法匹配到,两个文件都有 查了半天没弄懂,求指点 我粘下文件内容: oracle-ds.xml: Oracle9i 2330201

Linux Shell 编程实战技巧

避免定时任务脚本的常见问题 很多脚本在实际使用的时候往往是以定时任务的方式运行,而非手工运行.但是实现同样功能的脚本在这两种运行方式下可能遇到的问题不尽相同. 以定时任务方式运行的脚本往往会遇到以下几个问题. 路径问题:当前目录往往不是脚本文件所在目录.因此,脚本在引用其使用的外部文件,如配置文件和其它脚本文件时,无法方便得使用相对路径. 命令找不到问题:脚本中使用到的一些外部命令,在手工执行脚本的时候可以正常调用.但是在定时任务下运行则可能出现脚本解析器找不到相关命令的问题. 脚本重复运行问题

Linux shell编程 12 ---- 管道+I/O重定向

 1 管道简介      1 管道技术是Linux的一种基本的进程间通信技术,它利用先进先出排队模型来指挥进程间的通信.对于管道,我们可以形象的理解为连接两个实体的一个单向连接器      2 Shell编程中管道符号是"|",命令直接利用管道进行通信的一般格式         command1 | command2 | command3 | ... | commandn         command1-commandn是n个命令,如果没有管道那么结果将会直接显示在Shell中,当S

linux shell 编程

shell 编程 1.简述 利用vi等文本编辑器编写Shell脚本的格式是固定的,如下: #!/bin/bash #comments Your commands go here 首行中的符号#!告诉系统其后路径所指定的程序bash即是解释此脚本文件的Shell程序. 除第一行外,以#开头的行就是注释行,直到此行的结束.如果一行未完成,可以在行尾加上",这个符号表明下一行与此行会合并为同一行. 2.变量 有环境变量.内部变量.用户变量. Shell Script是一种弱类型语言,使用变量的时候无需

Linux shell编程 10 ---- 循环结构

 1 for循环     1 for循环是Linux Shell中常用的结构,for循环有三种结构:一种是列表for循环,第二种是不带列表的for循环,第三种是类C风格的for循环.          2 列表for循环        for variable in list        do            statement        done     3 不带列表for循环         for variable         do              stateme

Linux shell编程 9 ---- 判断+运算符

 1 判断     1 简单if语句        if expression        then               statement               statement        fi         如果then处在同一行,要在expression后面加上";"          2 if/else结构        if expression        then                statement               st

Linux shell编程 1 ---- shell脚本编程基础

 1 什么是shell脚本     1 shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序     2 用户可以在文件中存放一系列的命令,通常将shell编写的程序称为shell脚本或者shell程序     3 将命令,变量和流程控制有机递结合起来将会得到一个功能强大的编程工具.shell脚本语言非常擅长处理文本类型的的数据,由于Linux系统中的所有的配置文件都是纯文本的,所以shell脚本语言在管理Linux系统中发挥了巨大的作用  2 she