Похоже на ваше "чистое решение":
sed -e '1,/HI_THERE/d' input_file
Первая строка в файле — это строка 1 -специального ^
адреса нет, потому что вы всегда это знаете, в то время как $
нужен в конце, потому что вы не (обязательно )знаете какая это линия.
Это происходит, если совпадающая строка является первой строкой файла. С GNU sed вы можете использовать 0
вместо 1
, чтобы справиться с этим. Для POSIX sed и для переносимости (, которые кажутся разными в данном случае )это более сложно (см. комментарии ниже и этот последующий -вопрос).