sed -n 'h;/match/n;G;P;//D'
That will delete only the first match in any input file. It
overwrites hold space with every line
overwrites pattern space with the next input on match lines
Gets hold space appended to patern space
Prints up to the first occurring \newline character occurring in pattern space
Deletes same on match lines
The thing is though, that process results in every line following the first occurrence of match to also be match before it gets the next line. So it's always matching and never printing.
sed '/match/x;//x'
That one will replace the first occurring match in a file with a blank line.
on match lines sed exchanges hold and pattern spaces
if the new pattern space (old pattern space) also matches it exchanges them again
else it leaves the first occurring match in the new hold space and prints the blank pattern space
99, I hope you agree, otherwise, feel free to revert. – Bernhard Aug 15 '14 at 06:25