通配符与正规

Linux I
第1章 通配符VS正则 1
1.1 找出oldboy.Txt中以mn开头的 1
1.2 找出oldboy.txt中以m或n开头并且以m或n结尾的行 1
1.3 排除大小写 排除数字 2
第2章 扩展正则 2

课前回顾:
特殊符号:引号 重定向 其他符号 位置 判断
第1章 通配符VS正则
通配符:找出文件名 大部分命令可以使用
正则:精确的过滤 给三剑客使用
正则表达式(regular Expression RE)
基础正则 (BRE Rasic Reg ular Expression)
^ 以..开头
$ 以。。。结尾
^$空行
.任意一个字符
前一个字符连续出现0个或0个以上
.
所有
[] 相当于是一个符号(每次匹配1个字符)找出包含a或b 或c 例:grep ‘[^abc]’ oldboy.txt
1.1 找出oldboy.Txt中以mn开头的

1.2 找出oldboy.txt中以m或n开头并且以m或n结尾的行

[^]除了a或b或c其余都有

1.3 排除大小写 排除数字
a-Z 是专门给grep用的

第2章 扩展正则

  • 前一个字符连续出现1次或1次以上 利用egrep匹配
    Egrep 过滤掉的不显示

取出连续出现的小写字母 先取出小写字母 再加+号 会依次输出

| 表示或者 应用时必须加引号

() 表示整体

()反向引用/后向引用
思路:把你想要的内容保护起来
Sed 在‘s###g’后两个井号之间使用 \数字 引用
前面保护后面使用

{} 0{n ,m} 前一个字符至少出现n次,最多出现m次

? 前一个符号连续出现0次或1次 (前一个字符有或没有)

  • 一般与[]匹配 某一行的某一部分
    1.定位 取出某一行
    2.sed/awk 取出想要的内容
    取出网卡的IP地址
    IP a s eth0
    Ip address show eth0
    方法1
    [[email protected] /oldboy]# ip a s eth0 |awk ‘NR==3‘|awk -F"[ /]+" ‘{print $3}‘
    10.0.0.200

取出ifconfig eth0 ip地址和子网掩码
方法1
[[email protected] /oldboy]# ifconfig eth0 |awk ‘NR==2‘
inet addr:10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0
[[email protected] /oldboy]# ifconfig eth0 |awk ‘NR==2‘ |awk -F"[ :]+" ‘{print $4,$NF}‘
10.0.0.200 255.255.255.0

方法2
[[email protected] /oldboy]# ifconfig eth0 |awk ‘NR==2‘
inet addr:10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0
[[email protected] /oldboy]# ifconfig eth0 |awk ‘NR==2‘ |awk -F"addr:|Bcast:" ‘{print $2}‘
10.0.0.200

坑漏补:
正则表达式-坑1-grep ‘0‘ 会把文件内容都显示出来
#0
0次 没有 grep ‘‘ 会把文件内容都显示出来

0次以上 0 00000000000

正则表达式-坑2- [oldboy] 会把与oldboy 相关的挨个显示出来 加-o会单个显示内容

正则表达式-坑3- [^#^$] [^$] [^#$]
[]中 $ . 没有特殊含义

原文地址:http://blog.51cto.com/13860447/2153235

时间: 2024-10-11 11:13:00

通配符与正规的相关文章

C# FTP/SFTP文件传输控件FTP for .NET/.NET CF 详细介绍

FTP for .NET将FTP客户端功能添加到您的应用程序之中..NET控件的FTP支持所有常用的FTP服务器以及代理服务器,包括可扩展的目录解析.同步以及异步操作.主动与被动模式.以VB.NET与C#编写的样本示例. 功能特征: 100%可托管的代码 遵循CLS(通用语言规范) 稳定以及彻底通过测试的代码. 可选择获取完整的C#源代码. 支持.NET 1.0..NET 1.1..NET 2.0/3.0/3.5 在Windows CE以及PocketPC设备上能使用.NET CF 1.0以及2

当时学习《鸟哥的Linux私房菜-基础学习篇》记录的点

1.当执行一个指令的时候,举例来说[ls],系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同名指令先被执行! 2.使用echo $PATH可以查看那些目录被定义了.echo 有[显示.印出]的意思,而PATH 前面加上的 $ 表示后面接的是变量. 3.shell script 是利用shell 的功能所写的一个[程序program],这个程序是使用纯文本文件,将一些shell的语法与指令(

MySQL 通配符学习小结

MySQL 通配符 SQL的模式匹配同意你使用"_"匹配不论什么单个字符,而"%"匹配随意数目字符(包含零个字符).在 MySQL中,SQL的模式缺省是忽略大写和小写的.以下显示一些样例. 注意在你使用SQL模式时,你不能使用=或!=:而使用LIKE或NOT LIKE比較操作符. 为了找出以"b"开头的名字: mysql> SELECT * FROM pet WHERE name LIKE "b%"; +--------

MySQL 通配符学习总结

MySQL 通配符 SQL您同意使用模式匹配"_"无论单个字符相匹配,和"%"匹配随意数目字符(包含零个字符). 在 MySQL中.SQL的模式缺省是忽略大写和小写的. 以下显示一些样例. 注意在你使用SQL模式时.你不能使用=或!=:而使用LIKE或NOT LIKE比較操作符. 为了找出以"b"开头的名字: mysql> SELECT * FROM pet WHERE name LIKE "b%"; +--------

使用正规表达式编写更好的 SQL

Oracle Database 10g 中的正规表达式特性是一个用于处理文本数据的强大工具 Oracle Database 10g 的一个新特性大大提高了您搜索和处理字符数据的能力.这个特性就是正规表达式,是一种用来描述文本模式的表示方法.很久以来它已在许多编程语言和大量 UNIX 实用工具中出现过了. Oracle 的正规表达式的实施是以各种 SQL 函数和一个 WHERE 子句操作符的形式出现的.如果您不熟悉正规表达式,那么这篇文章可以让您了解一下这种新的极其强大然而表面上有点神秘的功能.已

正规表示法

一.正规表示法需要注意的地方 1.那个^符号,在字符集合符号(括号[])之内与之外是不同的!在[]内代表[反向选择],在之外代表定位在行首的意思. 2.在bash中,通配符*表示0个或多个字符,但是正规表示法并不是通配符,两者之间是不同的.两个符号在正规表示法的意义如下: .(小数点):代表[一定有一个任意字符的意思] *(星星号):代表[重复前一个字符,0到无穷多次]的意思,为组合形态 3. *代表的是[重复0个或多个前面的RE字符]的意义,因此[0*]代表的是[拥有空字符或一个o以上的字符]

linux 通配符、元字符和特殊字符

bash环境中非常有用的功能:通配符.转义字符和特殊字符 下面将逐一介绍 一. 通配符 通配符是一种特殊语句,主要有星号(*).问号(?)等表示,用来模糊搜索文件,当查找目录或文件时,可以使用通配符来代替一个或多个真正字符. 作用范围:目录和文件名 常见通配符:常用通配符包括 "*"."?" ."[ ]". "[^ ]" ."[! ]"和"{}",具体含义见下表 表1-1 通配符具体含义

java 16-8 泛型高级之通配符

泛型高级(通配符) ?:任意类型,如果没有明确,那么就是Object以及任意的Java类了 ? extends E:向下限定,E及其子类 ? super E:向上限定,E极其父类 1 import java.util.ArrayList; 2 import java.util.Collection; 3 public class GenericDemo { 4 public static void main(String[] args) { 5 // 泛型如果明确的写的时候,前后必须一致 6 C

特殊符号(通配符)知识点总结

##特殊符号与正则表达式的区别     #()在awk/sed/grep中使用的特殊符号-->正则表达式     #()在命令行或脚本中使用的特殊符号-->以下特殊意义 ##特殊符号(通配符)列表 < 0< 输入重定向 mail -s 1091*****@qq.com </etc/hosts.txt ##将host.txt中的内容写入的邮件内容 > 输出重定向 >> 追加输出重定向 不覆盖之前的内容,在文档最后继续写入追加的内容 |  管道 将前一个命令得到