Partly. Nobody is talking of a "file name". sed reads stdin line by line, and in each line ALL characters except one (for my sed : the last) string matching the RE are deleted. The g flag is meaningless here, as any additional possible match will have disappeared after the first substitute operation. So you will end up with a sequence of lines consisting of bare dates (if exist in the line) or unmodified lines.
Not quite. The trailing back tick is redundant resp. an error. The script in a loop sucks in all lines of a file, then replaces all newlines with single space chars, finally printing one long line with the entire contents of the file.