Glob 是什么

glob 是一种文件匹配模式,全称 global,它起源于 Unix 的 bash shell 中,比如在 linux 中常用的 mv *.txt tmp/ 中,*.txt 就使用到了这种模式。

Glob 有哪些用途

在计算机编程中,经常需要对文件或者文件夹进行操作,那么会经常涉及到一些文件或者文件夹的匹配操作,此时就是 Glob 模式大显身手的时候,比如上面的 mv 命令。

大家最熟悉的应用的地方可能给就是 git 中的 .gitignore 中的表达式了,它就是 Glob 模式的一个典型用法。

Glob 用法

以下是表达式的说明,注意 Glob 不匹配任何隐藏文件或文件夹。

模式 说明
* 匹配除了斜杠(/)之外的所有字符。 Windows上是斜杠(/)和反斜杠(\)
** 匹配零个或多个目录及子目录。不包含 . 以及 .. 开头的。
? 匹配任意单个字符。
[seq] 匹配 seq 中的其中一个字符。
[!seq] 匹配不在 seq 中的任意一个字符。
\ 转义符。
! 排除符。
?(pattern_list) 匹配零个或一个在 pattern_list 中的字符串。
*(pattern_list) 匹配零个或多个在 pattern_list 中的字符串。
+(pattern_list) 匹配一个或多个在 pattern_list 中的字符串。
@(pattern_list) 匹配至少一个在 pattern_list 中的字符串。
!(pattern_list) 匹配不在 pattern_list 中的字符串.
[...] POSIX style character classes inside sequences.

举例

  • 匹配 docs 目录下及子目录所有 markdown 文件: docs/**/*.md
  • 匹配 大小写的 bin 文件夹: [Bb]in

各个语言提供的库

没列出来的,一般语言本身的库提供的有相关功能。


本文地址:http://www.cnblogs.com/savorboard/p/glob.html
作者博客:Savorboard
本文原创授权为:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本

Glob 模式的更多相关文章

  1. Linux shell 通配符 / glob 模式

    概念 glob 模式(globbing)也被称之为 shell 通配符,名字的起源来自于 Unix V6 中的 /etc/glob (详见 man 文档).glob 是一种特殊的模式匹配,最常见的是通 ...

  2. glob模式

    在学习gulp的过程中,gulp使用了被称作为glob的文件匹配模式. 接下来我们认识下什么是glob模式. 在计算机编程中,特别是类Unix环境,glob模式通过通配符来匹配文件名.例如:Unix命 ...

  3. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  4. python glob标准库基础学习

    #glob文件名模式匹配#作用:使用unix shell规则查找与一个模式匹配文件名"""尽管glob api很小,但这个模块很强大,只要程序需要查找文件系统中名字与某种 ...

  5. node中glob模块总结

    参考文章:   githup_glob    node-glob学习 前言: 最近在学习webpack配置, 其中有一项glob配置入口文件, 来获取对应的文件名, 达到入口entry和output文 ...

  6. fnmatch:Unix式glob模式匹配,简单场景下可以代替正则

    介绍 fnmatch模块用于根据glob模式(如Unix shell所使用的的模式)比较文件名 简单匹配 import fnmatch ''' fnmatch将一个文件名与一个模式进行比较,并返回一个 ...

  7. GitHub实战系列~3.提交github的时候过滤某些文件 2015-12-10

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  8. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

  9. SQLite源程序分析之sqlite3.c

    /****************************************************************************** ** This file is an a ...

随机推荐

  1. js里事件传播流程

    Javascript与HTML之间的交互是通过事件实现的. 事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间. 可以使用侦听器来预定事件,以便事件发生时执行相应代码. 事件流 JS事件流最早要从I ...

  2. 十四、JavaScript之不同类型变量相加

    一.代码如下 二.效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" conten ...

  3. 使用HttpURLConnection方式访问接口

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  4. 说说lock到底要锁谁?

    波安搬... http://www.cnblogs.com/wolf-sun/p/4209521.html ---------------------------------------------- ...

  5. 前端基础之AJAX

    AJAX 什么是AJAX,简单来说就是利用JavaScript天生异步的特性,使用异步请求后台数据,从而达到不刷新网页也能局部更新页面的效果. 原生AJAX JavaScript中的AJAX依赖于XM ...

  6. UVA - 12107 Digit Puzzle(数字谜)(IDA*)

    题意:给出一个数字谜,要求修改尽量少的数,使修改后的数字谜只有唯一解.空格和数字可以随意替换,但不能增删,数字谜中所有涉及的数必须是没有前导零的正数.输入数字谜一定形如a*b=c,其中a.b.c分别最 ...

  7. java课程之团队开发冲刺阶段2.4

    总结昨天进度: 1.照例学习了课前提醒的功能,不可否认的是,在这个功能上,需要的技术和之前的上课静音有点相似,都是通过广播然后开启service服务,然后进行每分钟的监听,查看时间是否一致,在一致的情 ...

  8. 爬虫(十八):Scrapy框架(五) Scrapy通用爬虫

    1. Scrapy通用爬虫 通过Scrapy,我们可以轻松地完成一个站点爬虫的编写.但如果抓取的站点量非常大,比如爬取各大媒体的新闻信息,多个Spider则可能包含很多重复代码. 如果我们将各个站点的 ...

  9. python虚拟环境配置(下)

    前言 嘿,各位小伙伴们,晚上好呀,新年快乐,注意预防流感哈,就不要出去浪了,万一中奖了,嗯...,还是当个宅男,宅男无敌,哈哈哈, 过年了,村都被封了,哎,出都出不去,想着干点啥,就把以前没完善的继续 ...

  10. 转: 十大Intellij IDEA快捷键

    Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...