linux通配符,特殊字符以及正则表达式详解

1、通配符

通配符是shell在做路径名扩展时用到的。一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。

2、Shell常见通配符:
通配符含义实例
*匹配 0 或多个字符a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
?匹配任意一个字符a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list]匹配 list 中的任意单一字符a[xyz]b a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
[!list]或[^list]匹配 除list 中的任意单一字符a[!0-9]b a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2]匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b… a9b。
[!c1-c2]或[^c1-c2]匹配不在c1-c2的任意字符a[!0-9]b 如acb adb
{string1,string2,…}匹配 sring1 或 string2 (或更多)其一字符串a{abc,xyz,123}b 列出aabcb,axyzb,a123b
3、特殊字符
字符说明
IFS由 或 或 三者之一组成(我们常用 space )
CR由 产生
=设定变量
$取变量值或取运算值
>重定向 stdout
<重定向 stdin
|管道符号管道’|'可将命令的结果输出给另一个命令作为输入之用:
&重导向 file descriptor ,或将命令置于背景执行
( )将其内的命令置于 nested subshell 执行,或用于运算或命令替换
{ }将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围
;在前一个命令结束时,而忽略其返回值,继续执行下一个命令
&&在前一个命令结束时,若返回值为 true,继续执行下一个命令
||在前一个命令结束时,若返回值为 false,继续执行下一个命令
!运算意义上的非(not)的意思
#注释,常用在脚本中
\转义字符,去除其后紧跟的元字符或通配符的特殊意义

正则表达式

正则表达式是一种描述一组字符串的模式,为处理大量文本、字符串而定义的一套规则和方法,以行为单位进行处理。正则表达式分为两类:基本正则表达式(BRE)和扩展正则表达式(ERE)。在linux中使用正则表达式较多的有三个工具,分别为grep,sed和awk,这三个工具被称为linux文本处理的三剑客。

正则表达式元字符集

在这里插入图片描述

基本组成部分

在这里插入图片描述

正则表达式使用例子

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值