sed '/something interesting/,$d' < file > newfile
Which can be optimized to:
sed -n '/something interesting/q;p' < file > newfile
sed to quit as soon as it finds the pattern.
Which with the GNU implementation of
sed, as noted by @RakeshSharma, can be simplified to
sed '/something interesting/Q' < file > newfile
To truncate the file in-place, with
ksh93 instead of
bash, you could do:
printf '' <>; file >#'*something interesting*'
<>; is like the standard
<> redirection operator (open in read+write) except that the file is truncated at the end if the command is successful.
<#pattern seeks to the start of the next line matching the pattern.
(note that it seems to work (with ksh93u+ at least) with
printf '' on stdout but not with some other builtin commands like
eval. Looks like a bug. Also it can't be the last command of a script (another bug)).