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

linux 通配符(wildcard)

2017-11-18 12:40 309 查看
shell 在执行输入的字符串命令之前,会做一些预处理,比如通配符替换。具体例子来说,

如果当前目录中有
1.jpg
,
2.jpg
,
3.jpg
,那么命令

ls  *.jpg


被转换成

ls 1.jpg 2.jpg 3.jpg


? (question mark)通配符

匹配任意一个字符。比如
hd?
可以表示
hdQ
或者
hd4


* (asterisk)通配符

匹配任意一个或者多个字符。比如
hd?
可以表示
hdQ
或者
hd4Q
或者
hdblabla
等等。

[ ] (square brackets)通配符

[]
中可以指定范围,然后匹配其中一个字符。

m[a,o,u]m
匹配
mam
或者
mom
或者
mum


m[a-d]m
匹配
mam
或者
mbm
或者
mcm
mdm


[!]通配符

!
表示反义,比如
m[!a-d]m
匹配除
mam
或者
mbm
或者
mcm
mdm
之外的
m*m


{ } (curly brackets)通配符

{ }
中可以指定多个项,每一个项用
,
号分割,每一项又可以是通配符。

{*.doc,*.pdf}
可以表示
foo.doc
或者
bar.pdf


{1..5}
{1,2,3,4,5}
,表示
1 2 3 4 5


echo {1..5}

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