glob簡介

首次發(fā)表在個人博客

前言

glob是shell使用的路徑通配符,類似于正則表達(dá)式,但是與正則表達(dá)式不完全相同,在linux操作中如文件匹配等等已經(jīng)使用了glob通配符;

語法和使用

  • *:匹配一個路徑部分中0或多個字符, 注意不匹配以.開始的路徑,比如.a
  • **: 匹配0個或多個子文件夾
  • ?:匹配一個字符
  • {a,b}: 匹配a或者b, a和b也是通配符,可以由其他通配符組成
  • !: 排除文件,如!a.js表示排除文件a.js

glob非常強(qiáng)大的用途在于路徑匹配,大部分的平臺和開發(fā)語言都會在配置中使用glob路徑匹配,其普遍性幾乎使其成為一種標(biāo)準(zhǔn)。

實例

1.基于node的gulp時遇到glob匹配文件路徑

獲取js目錄下的所有js文件.(不包括以'.'開頭的文件)

//*:匹配路徑中某部分:0個或多個字符
glob("js/*.js",function (er, files) {
    console.log(files)
})

2..gitignore中遇到glob匹配文件路徑

# 此為注釋 – 將被 Git 忽略
    # 忽略所有 .a 結(jié)尾的文件
    *.a
    # 但 lib.a 除外
    !lib.a
    # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
    /TODO
    # 忽略 build/ 目錄下的所有文件
    build/
    # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    doc/*.txt

.gitigore的格式規(guī)范

  • 所有空行或者以注釋符號 # 開頭的行都會被 Git 忽略。
  • 可以使用標(biāo)準(zhǔn)的 glob 模式匹配
  • 匹配模式最后跟反斜杠(/)說明要忽略的是目錄。
  • 要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(!)取反。

參考

node-glob
node-glob使用記

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • gulpjs是一個前端構(gòu)建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數(shù),API也非常簡單,學(xué)...
    井皮皮閱讀 1,323評論 0 10
  • gulpjs是一個前端構(gòu)建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數(shù),API也非常簡單,學(xué)...
    小裁縫sun閱讀 952評論 0 3
  • gulpjs是一個前端構(gòu)建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數(shù),API也非常簡單,學(xué)...
    依依玖玥閱讀 3,181評論 7 55
  • gulpjs是一個前端構(gòu)建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數(shù),API也非常簡單,學(xué)...
    build1024閱讀 540評論 0 0