linux通配符怎么表示三位数
linux通配符怎么表示三位数详细介绍
在 Linux 中,使用通配符表示 三位数(即恰好三位 0-9 的数字),可以通过以下方式实现:
方法一:基本通配符(适用于大多数 shell)
利用方括号 [] 匹配单个数字,重复三次表示三位数字:
bash
-9-9-9
[0-9]表示匹配单个数字(0-9),三个连续的[0-9]分别对应百位、十位、个位。- 示例匹配:
123、000、999等,严格匹配三位数字,不包含非数字或位数不符的情况。
方法二:扩展通配符(需启用
extglob 特性)
如果你的 shell 支持扩展通配符(如 bash 启用 extglob 后),可以使用 {} 简化写法:
bash
extglob
-9
{3}表示前面的模式重复 3 次,效果等同于[0-9][0-9][0-9]。- 注意:默认情况下部分 shell 可能未启用
extglob,需先执行shopt -s extglob。
说明
?通配符:表示任意单个字符,但无法限定字符类型(如可能匹配字母),因此不推荐直接使用???(会匹配非数字字符)。- 范围限定:
[0-9]也可以写成[[:digit:]](POSIX 标准),二者等价,均表示单个数字。
示例
假设文件名为 123.txt、abc.txt、45.txt、6789.txt,使用以下命令匹配三位数文件名:
bash
-9-9-9.txt
912 [0-9][0-9][0-9].txt
通过上述方法,即可准确匹配三位数字的字符串。