linux通配符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux通配符相关的知识,希望对你有一定的参考价值。
shell 通配符
通配符与正则表达式的区别
1、用途不同
通配符用于通配文件名,正则表达式用于匹配文本内容
2、使用地点不同
通配符通常只能用于shell,被shell自解释。
正则表达式需要被正则引擎解析,需要用于支持正则表达式的代码或命令中。
3、元字符不同
通配符只有三个元字符,正则表达式根据正则引擎不同会多种多样。
并且相同元字符表示的含义也可能不同。如通配符中表示匹配任意字符,正则中表示前面的字符重复0或任意次。
* 匹配 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 中的任意单一字符 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。
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。
特殊通配
范围匹配:
[0-9]:表示匹配数字
[a-z]:表示匹配小写字母
[A-Z]:表示匹配大写字母
范围匹配取反:
[^0-9]:表示匹配非数字``
[^a-z]:表示匹配非小写字母`
[^A-Z]:表示匹配非大写字母
特殊匹配方式:
[[:space:]]:表示匹配空白字符
[[:punct:]]:表示匹配标点符号
[[:digit:]]:表示匹配数字
[[:lower:]]:表示匹配小写字母
[[:upper:]]:表示匹配大写字母
[[:alpha:]]:表示匹配字母,不区分大小写
[[:alnum:]]:表示匹配字母数字。
特殊匹配方式也支持取反,取反方式如下:[^[::]]
以上是关于linux通配符的主要内容,如果未能解决你的问题,请参考以下文章
linux打开终端如何启动scala,如何在终端下运行Scala代码片段?
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段