Extra01 - glob - 配置目标档案与目录

此为番外,此篇选入番外的原因是 glob 并不是个工具,但是是个会常被各种工具采用的一种配置方式。

glob 是使用万用字元来匹配复数档案的表示法。

介绍 glob

glob 以万用字元来表示档案群集,被大量的用於各种电脑相关的技术上。

以 Bash 为例,当使用的指令需要指定档案时,使用者就可以 glob 来表示此指令作用的档案,例如 ls *.js 会列出当前目录下所有以 .js 结尾的档案:

> ls *.js
babel.config.js jest.config.js  vue.config.js

glob 的语法

这里介绍几个常用的语法:

语法 作用 范例 取得的档案 排除的档案
* 於单阶层目录下匹配 0 至多字元 *.js search.js search.mdsamples/search.js
? 匹配 1 个字元 samples/?.md samples/b.md samples/sample.md
** 设定於独立的阶层目录时,则会匹配 0 至多个目录层中的档案 samples/**/sample.md samples/sample.mdsamples/a/sample.md samples/a/a.md
{a,b} 匹配 ab *.{js,md} search.jssearch.md search.json
!(a\|b) 排除匹配 ab 的结果 samples/!(*.js) samples/b.mdsamples/sample.md samples/search.js

因为 glob 只是个技术名词,所以各家在实作时,於语法上多少会有些差距,本文以 node-glob 的语法来做说明。

本文重点整理

  • 如果要一个一个输入实际的档案路径来表示档案群集的话,势必在每次设定时要花费大量的时间,不仅没有效率,可读性还会因为过长的参数而被破坏。
  • glob 可以以通用字符来匹配多个档案,这使得使用者可以用简短的字串来表示复杂的档案群集,其简单的语法对於可读性也有很大的提升。
  • glob 作为表示档案的方式,被大量的用在各类工具中,像是在各种 ignore 设定(例如: gitignore )中排除匹配的档案或是各类 CLI 指令(例如: lsmv )用来匹配档案等,因此学习 glob 几乎就了解大部分电脑技术选取档案的技术,对於各类工具也可以有更精细的操作。

参考资料


<<:  Day 20:AWS 是什麽?30天从动漫/影视作品看AWS服务应用 -《龙与雀斑公主》

>>:  [夜市吃到饱] 除了夜市牛排,还有一种食物叫做「蒙古烤肉」~

Day 09 - Array

Array 是一个有序的集合,可以存储相同类型的元素。 初始化: // 1. init时就有值 NS...

Day 30 : 结语

终於到了最後一篇了,就来讲讲这次发铁人赛文的感想吧! 过程分享 这次铁人赛其实有先囤了一些文章,可是...

[DAY 19] 卡多利亚良食故事馆

卡多利亚良食故事馆 地点:台南市後壁区42-27号 时间:9:00~17:00 对於一个研替来说 最...

如何把痛点转成未来的爽点 - 写笔记的重要性

之前介绍了开发者体验(DX)的重要性, 这次来分享笔者长年学习及使用程序语言的独特技巧. 很多人可能...

[Day 30] 认识LIFF

所以 LIFF 到底是什麽? 从前,我们只能用 LINE app,在聊天室内与朋友一对一谈话,或是用...