标签: glob

什么是**glob角色?

我的反应gulpfile中有这条路径:

var path = {
  HTML: 'src/index.html',
  ALL: ['src/js/*.js', 'src/js/**/*.js', 'src/index.html'],
  JS: ['src/js/*.js', 'src/js/**/*.js'],
  MINIFIED_OUT: 'build.min.js',
  DEST_SRC: 'dist/src',
  DEST_BUILD: 'dist/build',
  DEST: 'dist'
};
Run Code Online (Sandbox Code Playgroud)

什么是双球形角色?

我知道单个glob是什么......但是双重的是什么? 单个水珠

glob gulp

68
推荐指数
4
解决办法
2万
查看次数

在Perl中,有什么理由更喜欢glob而不是readdir(反之亦然)?

这个问题是从这个问题中分拆出来的.一些历史:当我第一次学习Perl时,我总是使用glob而不是opendir+ readdir因为我发现它更容易.后来各种帖子和读物表明这glob很糟糕,所以现在我几乎总是使用readdir.

在思考了这个最近的问题之后,我意识到我选择其中一个或另一个选择的理由可能是无聊的.所以,我将列出一些优点和缺点,我希望更有经验的Perl人可以插入并澄清.概括地说,问题是有没有令人信服的理由,更喜欢globreaddirreaddirglob(在某些或所有情况下)?

glob 优点:

  1. 没有dotfiles(除非你要求他们)
  2. 物品的订单是有保证的
  3. 无需手动将目录名称添加到项目上
  4. 更好的名字(来吧- globreaddir没有比赛,如果我们的名字单独判断)
  5. (从ysth的回答;参见glob下面的参考资料4)可以返回不存在的文件名:

    @deck = glob "{A,K,Q,J,10,9,8,7,6,5,4,3,2}{\x{2660},\x{2665},\x{2666},\x{2663}}";
    
    Run Code Online (Sandbox Code Playgroud)

glob 缺点:

  1. 旧版本只是简单的破坏(但是"较旧"意味着5.6之前的版本,我认为,坦率地说,如果你使用的是5.6之前的版本,你会遇到更大的问题)
  2. stat每次调用(即stat在大多数情况下无用).
  3. 目录名称中的空格问题(这仍然是真的吗?)
  4. (来自brian的回答)可以返回不存在的文件名:

    $ perl -le 'print glob "{ab}{cd}"'
    
    Run Code Online (Sandbox Code Playgroud)

readdir 优点:

  1. (来自brian的回答)opendir返回一个文件句柄,你可以在你的程序中传递(并重用),但glob只返回一个列表
  2. (布莱恩的回答)readdir是正确的迭代器,并提供功能rewinddir,seekdir,telldir
  3. 快点?(根据上面的一些glob特征进行纯粹的猜测.无论如何,我并不是真的担心这种优化水平,但它是理论专家.)
  4. 不太容易出现边缘情况的错误glob
  5. 默认情况下读取所有内容(dotfiles)(这也是一个骗局)
  6. 可能会说服你不要命名文件0 …

perl glob readdir

62
推荐指数
4
解决办法
1万
查看次数

全局匹配,排除所有JS文件

我是gulp.js的新用户.我想将所有非javascript文件移动到构建目录.我现在得到的是:

//Test copy
gulp.task('test-copy', function() {
    gulp.src(['myProject/src/**/*.!(js|map|src)'])
        .pipe(gulp.dest('myProject/build'));
});


//Results for various files
myProject/css/style.css //Copied - GOOD
myProject/html/index.html //Copied - GOOD
myProject/js/foo.js //Not Copied - GOOD
myProject/js/bar.min.js //Copied - BAD!
myProject/js/jquery-2.0.3.min.js //Copied - BAD!
myProject/js/jquery-2.0.3.min.map //Copied - BAD!
Run Code Online (Sandbox Code Playgroud)

如您所见,它只匹配文件路径字符串中的第一个点之后,而不是最后一个,如我所愿.如何修改glob搜索字符串以按照我的意愿行事?

glob pattern-matching node.js gulp

60
推荐指数
1
解决办法
4万
查看次数

git:如何以递归方式添加与glob模式匹配的目录子树中的所有文件?

我在里面有几个.screen文件/xxx/documentation,它的子目录已经被Git跟踪了.

在修改了许多这些屏幕文件之后,我运行git add documentation/\\*.screen-as git-add文档中的第一个示例所示- 来暂存这些文件,但命令失败:

fatal: pathspec 'documentation/\*.screen' did not match any files

我的命令不好,还是git有bug?

git glob git-add

56
推荐指数
2
解决办法
7万
查看次数

没有整个路径的Python Glob - 只有文件名

有没有办法在目录上使用glob,获取具有特定扩展名的文件,但只有文件名本身,而不是整个路径?

python glob

55
推荐指数
6
解决办法
6万
查看次数

列出与模式不匹配的文件?

以下是如何列出与bash中的模式匹配的所有文件:

ls *.jar
Run Code Online (Sandbox Code Playgroud)

如何列出模式的补充?即所有文件都不匹配*.jar?

bash ls glob wildcard

55
推荐指数
7
解决办法
5万
查看次数

除.spec.js之外的每个.js文件的节点glob模式

我正在为usemin寻找更好的glob模式,我想查找所有.js文件但排除.spec.js文件.到目前为止,我有以下解决方案.

<script src="components/**/*(.js|!(*.spec.js|*.scss))"></script>

我目前的解决方案要求我不断添加文件扩展名以排除它们,否则它们会被拾取,例如.html文件.

我试图让它只查找.js文件并.spec.js从中排除它但它似乎不起作用.

另外!components/**/*.spec.js在下面添加另一个脚本似乎不起作用.

javascript glob node.js gruntjs grunt-usemin

50
推荐指数
1
解决办法
2万
查看次数

python通过通配符复制文件

我正在学习python(python 3),我可以通过执行此操作将1个文件复制到新目录

import shutil 
shutil.copyfile('C:/test/test.txt', 'C:/lol/test.txt')
Run Code Online (Sandbox Code Playgroud)

我现在要做的是将所有*.txt文件从C:/复制到C:/ test

*.txt是一个通配符,用于搜索硬盘上的所有文本文件

python glob copy file shutil

49
推荐指数
2
解决办法
4万
查看次数

何时在JAVA中使用glob语法中的**(双星)

直接来自这个 Java Oracle教程:

两个星号**的作用类似于*但跨越目录边界.此语法通常用于匹配完整路径.

有人可以做一个真实的例子吗?他们对"十字架目录边界"有什么意义?穿过目录边界,我想象从root到文件检查getNameCount()-1.再来一个真实的例子解释在*和**的区别做法将是巨大的.

java nio glob path matcher

48
推荐指数
2
解决办法
4万
查看次数

.NET中的glob模式匹配

.NET中是否有内置机制来匹配正则表达式以外的模式?我想使用UNIX样式(glob)通配符匹配(*=任何数字的任何字符).

我想将它用于面向最终用户的控件.我担心允许所有RegEx功能会非常混乱.

.net c# glob

46
推荐指数
7
解决办法
2万
查看次数

标签 统计

glob ×10

gulp ×2

node.js ×2

python ×2

.net ×1

bash ×1

c# ×1

copy ×1

file ×1

git ×1

git-add ×1

grunt-usemin ×1

gruntjs ×1

java ×1

javascript ×1

ls ×1

matcher ×1

nio ×1

path ×1

pattern-matching ×1

perl ×1

readdir ×1

shutil ×1

wildcard ×1