Libx

wildcard是个啥

Word count: 872Reading time: 4 min
2019/03/12 Share

wildcard

释意

1、纸牌游戏中的“百搭牌”或“变牌”,持牌人决定此牌的牌值。

2、体育运动中的“外卡”或“外卡选手”。

3、计算机领域的“通配符”

通配符证书

通配符 SSL 可以保护网站的 URL 及其所有子域(数量不限)。例如,一个单独的通配符证书就可以保护 www.coolexample.comblog.coolexample.comstore.coolexample.com

通配符证书可以保护通用域名和您在提交申请时指定的级别下的所有子域。只需在通用域名左侧的子域区域添加星号 (*) 即可。

举例

如果您为 *.coolexample.com 申请证书,则可以保护:

  • coolexample.com
  • www.coolexample.com
  • photos.coolexample.com
  • blog.coolexample.com

如果您为 *.www.coolexample.com 申请证书,则可以保护:

  • www.coolexample.com
  • mail.www.coolexample.com
  • photos.www.coolexample.com
  • blog.www.coolexample.com

通配符证书可以像常规 SSL 证书一样为网站提供保护,并且申请是使用同一种验证方法进行处理的。

通配符

? 字符

?字符代表单个字符。

# 存在文件 a.txt 和 b.txt
$ ls ?.txt
a.txt b.txt

上面命令中,?表示单个字符,所以会同时匹配a.txtb.txt

如果匹配多个字符,就需要多个?连用。

# 存在文件 a.txt、b.txt 和 ab.txt
$ ls ??.txt
ab.txt

上面命令中,??匹配了两个字符。?不能匹配空字符。也就是说,它占据的位置必须有字符存在。

*字符

# 存在文件 a.txt、b.txt 和 ab.txt
$ ls *.txt
a.txt b.txt ab.txt
# 输出所有文件
$ ls *

上面代码中,*匹配任意长度的字符。

*可以匹配空字符。

# 存在文件 a.txt、b.txt 和 ab.txt
$ ls a*.txt
a.txt ab.txt

[…]模式

[…]则表示匹配括号中列出的字符中的任意一个

# 存在文件 a.txt 和 b.txt
$ ls [ab].txt
a.txt b.txt
$ ls *[ab].txt
ab.txt a.txt b.txt

[start-end]表示一个连续的范围。

# 存在文件 a.txt、b.txt 和 c.txt
$ ls [a-c].txt
a.txt b.txt c.txt
# 存在文件 report1.txt、report2.txt 和 report3.txt
$ ls report[0-9].txt
report1.txt report2.txt report3.txt

[!..]表示不匹配括号中列出的字符中的任意一个

{…}模式

{...} 表示匹配大括号里面的所有模式,模式之间使用逗号分隔。

$ echo d{a,e,i,u,o}g
dag deg dig dug dog

它可以用于多字符的模式。

$ echo {cat,dog}
cat dog

{...}[...]有一个很重要的区别。如果匹配的文件不存在,[...]会失去模式的功能,变成一个单纯的字符串,而{...}依然可以展开。

# 不存在 a.txt 和 b.txt
$ ls [ab].txt
ls: [ab].txt: No such file or directory
$ ls {a,b}.txt
ls: a.txt: No such file or directory
ls: b.txt: No such file or directory

上面代码中,如果不存在a.txtb.txt,那么[ab].txt就会变成一个普通的文件名,而{a,b}.txt可以照样展开。

大括号可以嵌套。

$ echo {j{p,pe}g,png}
jpg jpeg png

大括号也可以与其他模式联用。

$ echo {cat,d*}
cat dawg dg dig dog doug dug

上面代码中,会先进行大括号扩展,然后进行*扩展。

{start..end} 模式

{start..end}会匹配连续范围的字符。

$ echo d{a..d}g
dag dbg dcg ddg
$ echo {11..15}
11 12 13 14 15

如果遇到无法解释的扩展,模式会原样输出。

$ echo {a1..3c}
{a1..3c}

这种模式与逗号联用,可以写出复杂的模式。

$ echo .{mp{3..4},m4{a,b,p,v}}
.mp3 .mp4 .m4a .m4b .m4p .m4v
CATALOG
  1. 1. wildcard
    1. 1.1. 释意
    2. 1.2. 通配符证书
      1. 1.2.1. 举例
    3. 1.3. 通配符
      1. 1.3.1. ? 字符
      2. 1.3.2. *字符
      3. 1.3.3. […]模式
      4. 1.3.4. {…}模式
      5. 1.3.5. {start..end} 模式