Нежадное решение для более чем одного символа
Эта ветка действительно старая, но я полагаю, что людям она все еще нужна.
Допустим, вы хотите убить все до самого первого появления HELLO
. Вы не можете сказать [^HELLO]
...
Итак, хорошее решение состоит из двух шагов, при условии, что вы можете сэкономить уникальное слово, которое вы не ожидаете во вводе, скажем top_sekrit
.
В этом случае мы можем:
s/HELLO/top_sekrit/ #will only replace the very first occurrence
s/.*top_sekrit// #kill everything till end of the first HELLO
Конечно, при более простом вводе вы можете использовать меньшее слово или, возможно, даже один символ.
НТН!