您的位置:首页 > 运维架构 > Shell

Linux Bash Shell预处理通配符

2014-02-11 16:56 309 查看
在 Shell 中执行命令时会先进行预处理,将通配符替换成匹配的文件或目录,如果没有找到匹配,则将通配符当成普通字符处理。

通配符wildcar
符号意义
*代表0个到无穷多个任意字符
?代表一定有一个任意字符
[]同样代表一定有一个在中括号内的字符(非任意字符)。例如[abcd]代表一定有一个字符,可能是a,b,c,d这四个任何一个
[-]若有减号在中括号时,代表在编码顺序内的所有字符。例如[0-9]代表0到9之间的所有数字,因为数字的语系编码是连续的
[^]任意中括号内的第一个字符为指数符号(^),那表示反向选择,例如[^abc]代表一定有一个字符,只要是非a,b,c的其他字符就接受的意思。
{}表示一个范围:{..}

[root@www ~]#  echo {a..d}
a b c d
[root@www ~]#  echo {1..10}
1 2 3 4 5 6 7  8 9 10


表示至少有两个以上的组合:使用逗号分隔字符集 {,}
[root@www ~]# echo a{b,c,d}
ab ac ad
[root@www ~]# mkdir -v a{,b}
mkdir: created directory `a'
mkdir: created directory `ab'


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: