ホームページ  >  記事  >  バックエンド開発  >  グロブの紹介

グロブの紹介

WBOY
WBOYオリジナル
2016-06-23 13:18:411124ブラウズ

glob は、Unix 系システムのコマンド ラインに最初に登場し、ファイル パスを照合するために使用されました。たとえば、lib/**/*.js は、lib ディレクトリ内のすべての js ファイルと一致します。

コマンドラインに加えて、プログラム内のファイルパスを一致させる必要もあります。その結果、多くのプログラミング言語には、Python の glob モジュールなどの glob の実装が含まれています。

glob を使用すると、ファイル パスの一致がとても簡単になります~

oh-my-glob

使用シナリオ

タスク管理

たとえば、lib ディレクトリ内のすべての js ファイルを圧縮したいとします。 Gulp を使用して次のように書くことができます:

var uglify = require('gulp-uglify'); gulp.task('compress', function() {  return gulp.src('lib/**/*.js') // 选则 lib 下的所有 js 文件    .pipe(uglify()) // 压缩    .pipe(gulp.dest('dist')); // 将压缩后的文件输出到 dist 目录下});

コマンド ライン

コマンド ラインの多くのコマンドで glob を使用できます。 たとえば、

grep '学习' *.md

上記のディレクトリは、ファイルの内容に「learning」を含み、ファイル形式が md であるファイルを現在のディレクトリから検索します。

マッチングルール

異なる言語のグロブライブラリでサポートされているルールは若干異なります。以下は、node-glob の一致ルールです。

  • * 任意の 0 個以上の文字と一致します
  • ? 任意の 1 つの文字と一致します
  • [...] 文字が角括弧内にある場合に一致します。 ! または ^ で始まる場合、文字が角かっこ内にない場合は
  • !(パターン|パターン|パターン) かっこ内のすべてのパターンを満たさない場合は
  • ?(パターン) と一致します。 |pattern|pattern) 0 または 1 つの括弧に一致する場合
  • +(pattern|pattern|pattern)
  • *(a|b|c)
  • @ (pattern|pat*|pat?erN) 1 のパターンと一致します括弧
  • ** パスをまたがる任意の文字と一致します

この記事は、クリエイティブ コモンズ CC BY-NC-SA 4.0 契約に準拠しています ネットワーク プラットフォームに転載する必要がある場合は、確認のために私に連絡する必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。