Как получить абсолютные пути к файлам в ряде каталогов? - PullRequest
0 голосов
/ 03 июня 2019

Реализован синтаксический анализатор журнала на 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...