glob 命令格式使用详解

2015-02-10 bash language

除了常见的正则表达式之外,还有一种 glob 模式经常用于匹配文件路径,相比正则来说更加简单,匹配效率也要更高一些,所以,在某些方面可以替换掉正则。

简介

最初是贝尔实验室 Unix 系统上的一个名叫 glob 的命令,是 global 的缩写,用于展开命令行中的通配符,后来系统提供了该功能的 C 语言库函数 glob(),于是很多 shell 解释器就使用了该接口。

GoLang

在 GoLang 中可以通过 path/filepath 实现相应的功能。

package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	if val, err := filepath.Match("*", "test"); err == nil {
		fmt.Println(val, err)
	}
}

在 Github 上有个三方包 github.com/gobwas/glob 也可以满足诉求,该包的匹配符合 Standard Wildcards 语法。