在GO上实现了日志解析器,此刻程序以这种格式示例/ var / log / 2019 / 2019-05 / 2019-05-27 /接受路径参数,仅解析当前文件夹并返回完整目录文件路径,我想知道以及如何以--datastart / var / log / 2019 / 2019-05 / 2019-05-01 / --dataend / var / log /的形式实现文件的解析器路径2019 / 2019-05 / 2019-05-31 /,以便解析一定范围的日期,这些日期分为多个文件夹。
示例目录树
2019
|
-...
-2019-04
|
-2019-04-01
|
-....
-2019-03-30
-2019-05
|
-2019-05-01
|
...
|
-2019-05-31
-...
我获取目录文件的功能:
func WalkFile(done <- chan struct{},root string)(<-chan string,<-chan error){
paths := make(chan string)
errc := make(chan error,1)
go func() {
defer close(paths)
errc <- filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if err != nil{
return err
}
if !info.Mode().IsRegular(){
return nil
}
select {
case paths <- path:
case <-done:
return nil
}
return nil
})
}()
return paths,errc
}