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)的意思
\ 转义字符,去除其后紧跟的元字符或通配符的特殊意义
管道 |
其它字符不再这里多介绍,比如追加,重定向,注释已经讲过,至于逻辑运算符,放到shell语句中使用才方便,在这里着重介绍一下管道,这里的管道与咱们平常见到的通水的管道是一个意思,水从管道的这头流向那头,而放在linux命令中,则是将命令的结果输出给另一个命令作为输入之用
比如: cat 123.txt | grep -v ‘cccc’

4、转义字符

有时候,我们想让 通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 shell提供转义符有三种。
字符          说明
‘’(单引号) 硬转义,其内部所有的shell 元字符、通配符都会被关掉。
“”(双引号) 软转义,其内部只允许出现特定的shell 元字符:$用于参数替换 (反单引号,esc键下面)用于命令替换
(反斜杠) 又叫转义,去除其后紧跟的元字符或通配符的特殊意义
在这里插入图片描述

5、正则表达式

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

6、正则表达式元字符集

在这里插入图片描述

7、基本组成部分

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值