github.com/Cloud-Foundations/Dominator@v0.3.4/lib/filesystem/util/filter.go (about) 1 package util 2 3 import ( 4 "os" 5 "path/filepath" 6 7 "github.com/Cloud-Foundations/Dominator/lib/filter" 8 ) 9 10 func deletedFilteredFiles(rootDir string, filt *filter.Filter) error { 11 startPos := len(rootDir) 12 return filepath.Walk(rootDir, 13 func(path string, fi os.FileInfo, err error) error { 14 if err != nil { 15 return err 16 } 17 if filt.Match(path[startPos:]) { 18 if err := os.RemoveAll(path); err != nil { 19 return err 20 } 21 if fi.IsDir() { 22 return filepath.SkipDir 23 } 24 } 25 return nil 26 }) 27 }