Glob匹配模式

2017-12-31  本文已影响0人  随风Wayne

在Linux中,glob是用来匹配路径名的通配符,主要包含以下四种:

通配符(Wild Matching)
字符集(Character classes)

包含在[]中的字符,只会被匹配一个,并且[]不可以为空。比如[abc]匹配a,b,c三个中的一个字符。

需要注意[ ]里可以包含[,],!,?,*,\这些特殊字符,因此[[!*?]]匹配[,!,,*,?中的一个字符。

字符范围(Range)

两个字符中间用'-'连接表示range,比如[0-9]等同于[0123456789]。

需要注意的是,如果-出现在开头或者结尾,并不表示range,比如[-a]或者[a-]匹配-,a字符中的一个。

字符取反(Complementation)

[!abc]表示匹配a,b,c之外的一个字符。

注意事项

  ├── Document
  │   ├── glob.txt
  │   ├── Linux
  │       ├── glob.txt

那么在Document目录下运行ls *.txt只会列出Document目录下的glob.txt,而不会列出Linux/glob.txt

**双星号代表可以匹配后代所有子目录。所以上面可以使用ls **/*.txt,列出glob.txt和Linux/glob.txt

上一篇 下一篇

猜你喜欢

热点阅读