in reply to What's wrong with this grep?

Use -f "$path/$_" instead of -f. read_dir returns file names, not fully qualified paths.