草庐IT

globbing

全部标签

ruby - 我可以使用 "**"glob 遍历 Ruby 中的符号链接(symbolic link)目录吗?

在Ruby中,Dir.glob("**/*.rb")(例如)不遍历符号链接(symboliclink)目录。是否可以让**遍历符号链接(symboliclink)?我正在使用两个以这种方式查找文件的gem,但我需要它们来查看符号链接(symboliclink)目录中的文件。 最佳答案 Jonathan的聪明和狡猾的方法很棒,只需轻弹几个星号,muahaha就可以削减成群的符号链接(symboliclink)。然而,它有一个不幸的副作用,即不返回直接子匹配项。一个改进的版本可能是:Dir.glob("**{,/*/**}/*.rb")

ruby - 如何使用 Dir.glob 获取仅包含文件的列表?

如何返回指定目录中只有文件而不是目录的列表?我有my_list=Dir.glob(script_path.join("*"))这将返回目录中的所有内容,包括子目录。我进行了搜索,但未能找到答案。 最佳答案 除了Mark的回答之外,Dir.entries还会返回目录。如果您只需要文件,则可以使用file?测试每个条目以查看它是文件还是目录。Dir.entries('/home/theiv').select{|f|File.file?(f)}将/home/theiv替换为您要在其中查找文件的任何目录。另外,看看File.它提供了一堆测试

ruby - 如何测试字符串是否与 Ruby 中的 glob 匹配?

在不访问文件系统的情况下,是否可以查看glob"foo*"是否匹配Ruby中的"food"?背景:我的一个脚本生成文件,我想对其他脚本进行单元测试以确保其他脚本能够使用其当前glob检测此类文件。 最佳答案 是的,可以使用fnmatch方法:File.fnmatch("foo*","food")#=>true 关于ruby-如何测试字符串是否与Ruby中的glob匹配?,我们在StackOverflow上找到一个类似的问题: https://stackover

ruby - 有没有办法在 Ruby 中 glob 目录但排除某些目录?

我想为后处理头文件分配一个目录。但是我想排除项目中的一些目录。现在默认的方式是...Dir["**/*.h"].each{|header|putsheader}如果每个header条目位于排除的目录中,则手动检查它似乎效率低下。 最佳答案 我知道这已经晚了4年,但是对于可能遇到这个问题的任何其他人,您可以像从Bash通配符中排除一样从Dir中排除:Dir["lib/{[!errors/]**/*,*}.rb"]这将排除任何以“errors”开头的文件夹,您甚至可以省略/并根据需要将其变成某种通配符。

javascript - 在 JavaScript 中是否有类似 glob 但用于 URL 的东西?

我需要将URL与字符串模式进行匹配,但我想避免使用RegExp以保持模式简单易读。我希望能够拥有像http://*.example.org/*这样的模式,它应该等同于/^http:\/\/。*\.example.org\/.*$/在正则表达式中。该RegExp还应该说明为什么我想让它更具可读性。基本上,我想要适用于URL的类似glob的模式。问题是:普通的glob实现将/视为分隔符。这意味着,http://foo.example.org/bar/bla不符合我的简单模式。因此,可以忽略斜杠的glob实现会很棒。有这样的东西或类似的东西吗? 最佳答案

javascript - Gulp glob 忽略文件类型而不复制空文件夹

我为gulp创建了一个glob,它忽略了一组目录中的javascript和coffeescript文件。我希望它将所有其他文件复制到一个工作正常的目录中。唯一的问题是,当只有javascript或coffeescript文件时,它会复制一个空文件夹。知道如何修改这个glob以不复制空文件夹吗?gulp.task('copyfiles',function(){gulp.src('apps/*/static_src/**/!(*.js|*.coffee)').pipe(gulp.dest('dest'));});示例源文件:apps/appname/static_src/images/im

javascript - 不能在 Windows 中将 GLOB 与 JSHint 一起使用?

我正在做一个NPM的PoC作为构建工具(http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/)。我是使用NPM的新手。目前,我只安装了JSHint和Mocha。我的packagae.json已附上。现在,当我在命令行(Windows7)中运行“npmrunlint”时,出现错误:c:\project>npmrunlistMyNPMProject@1.0.0lintc:\projectjshinttest/*.jsERROR:Can'topentest/*.js它在我更改脚本“lint”时起作用:“jshinttest

javascript - 抛出新的 TypeError ('callback provided to sync glob' )?

执行错误详情:#Node应用程序.jsthrownewTypeError('callbackprovidedtosyncglob')^TypeError:callbackprovidedtosyncglobatglob(C:\Users\z\Documents\node_modules\glob\glob.js:70:13)atObject.module.exports.getGlobbedFiles(C:\Users\z\Documents\Server\Config\config.js:31:4)atObject.(C:\Users\z\Documents\Server\app.j

javascript - Grunt Globbing 模式

实现以下目标需要什么模式。匹配.tmp目录下的所有html文件>匹配.tmp/views中的所有html文件及其所有子目录(递归到任意深度)这是在Grunt文件中注册livereload任务。我尝试了以下几种配置。它匹配.tmp中的所有文件,但不匹配.tmp/views中的所有文件也试过了,'.tmp/{,views/**/}*.html'但结果相同。livereload:{options:{livereload:LIVERELOAD_PORT},files:['.tmp/{,views/**}*.html']} 最佳答案 你应该能

python - 为什么 glob 会忽略某些目录?

我正在尝试使用glob()在目录中查找所有*.txt文件。在某些情况下,glob.glob('some\path\*.txt')给出空字符串,尽管给定目录中存在文件。如果path全部为小写或数字,则尤其如此。作为一个最小的例子,我的C:驱动器上有两个文件夹a和A都包含一个Test.txt文件。importglobfiles1=glob.glob('C:\a\*.txt')files2=glob.glob('C:\A\*.txt')产量files1=[]files2=['C:\\A\\Test.txt']如果这是设计使然,是否有任何其他目录名称会导致这种意外行为?(我正在使用Python