func searchFile(path string, search *regexp.Regexp) error { file, err := os.Open(path) if err != nil { errorf("%v") return err } defer file.Close() zread, err := zlib.NewReader(file) if err != nil { errorf("%v", err) return err } defer zread.Close() zbuf := bufio.NewReader(zread) if search.MatchReader(zbuf) { fileData, err := loadFile(path) if err != nil { errorf("%v", err) return err } fmt.Printf("%s:\n%s\n", path, fileData) } return nil }