Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用glob模式查找某些文件_Ruby_Regex_Path_Glob_Logstash - Fatal编程技术网

Ruby 使用glob模式查找某些文件

Ruby 使用glob模式查找某些文件,ruby,regex,path,glob,logstash,Ruby,Regex,Path,Glob,Logstash,我使用logstash不断查找新文件,并将数据流传输到不同的系统 现在我正在使用以下配置: input { file { type => "source" path => "/ebs/**/*-*csv" # recursivly check subfolders sincedb_path => "/usr/local/logstash/sincedb" sincedb_write_interval => 1 discove

我使用
logstash
不断查找新文件,并将数据流传输到不同的系统

现在我正在使用以下配置:

input {

  file {
    type => "source"
    path => "/ebs/**/*-*csv"  # recursivly check subfolders
    sincedb_path => "/usr/local/logstash/sincedb"
    sincedb_write_interval => 1
    discover_interval => 4
    start_position => "beginning"
    stat_interval => 1
  }
}
工作正常,但我想做的是:

path => "/ebs/**/*-[0-9]{10}.csv" 
可以在路径中包含这样的正则表达式吗?

您可以使用,它非常适合作业:

require rake
FileList.new("/ebs/**/*-[0-9]{10}.csv")
应该为您做这项工作

您可以使用,它完全适合您的工作:

require rake
FileList.new("/ebs/**/*-[0-9]{10}.csv")
应该为您完成这项工作

Logstash输入api只支持(),就像Unix shell支持一样。例如,如果您使用glob模式列出Unix系统中的文件

$ls[0-9].csv

它可以显示文件“1.csv”

但是当你添加正则表达式时

$ls[0-9]{1}.csv

系统显示

ls:[0-9]{1}.csv:没有这样的文件或目录

所以,如果要添加正则表达式,可能需要匹配。 比如

path=>“/ebs/*/*-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].csv”

希望这能帮助你

Logstash输入api只支持(),就像Unix shell支持一样。例如,如果您使用glob模式列出Unix系统中的文件

$ls[0-9].csv

它可以显示文件“1.csv”

但是当你添加正则表达式时

$ls[0-9]{1}.csv

系统显示

ls:[0-9]{1}.csv:没有这样的文件或目录

所以,如果要添加正则表达式,可能需要匹配。 比如

path=>“/ebs/*/*-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].csv”


希望这能帮助你

这是有道理的。但为此,我假设需要修改源代码并重新编译代码。在我的情况下,这不是一个真正的选择。我正在寻找一些特定于logstash的解决方案。抱歉,缺少信息
logstash
是用
JRuby
@Vor编写的,我今天晚些时候会查看源代码,看看是否可以提交patch@Vor不确定项目中到底使用了什么,今天在IRC上进行了检查,但如果它是
Dir.glob
,那么我假设它与
Rake::FileList
有类似的行为,您可以尝试您的模式,看看它是否没有问题,如果有问题,那么您可以访问irc#logstash或发表评论,我会看一看谢谢您的帮助,不幸的是,此正则表达式在
logstash
中不起作用。试过了,从另一个答案中得到了一个建议,它是有效的。这是有意义的。但为此,我假设需要修改源代码并重新编译代码。在我的情况下,这不是一个真正的选择。我正在寻找一些特定于logstash的解决方案。抱歉,缺少信息
logstash
是用
JRuby
@Vor编写的,我今天晚些时候会查看源代码,看看是否可以提交patch@Vor不确定项目中到底使用了什么,今天在IRC上进行了检查,但如果它是
Dir.glob
,那么我假设它与
Rake::FileList
有类似的行为,您可以尝试您的模式,看看它是否没有问题,如果有问题,那么您可以访问irc#logstash或发表评论,我会看一看谢谢您的帮助,不幸的是,此正则表达式在
logstash
中不起作用。试过了,从另一个答案中得到了一个建议,它是有效的。