ignore hidden files when recursively reading a directory