Довольно легко. Я ищу простейшие подходы в sed и awk для удаления первой строки в файле, который содержит конкретную строку.

3 ответа3

1

Это может работать для вас:

sed 'x;/./{x;b};x;/string/{h;d}' file

или же

awk '/string/ && !p {p++;next}1' file
1

Я думаю, что самые простые решения тогда:

Sed:

sed -i '0,/string/{//d}' file

Awk:

awk '/string/ && !p {p++;next}1' file
0

используя GNU SED:

sed '0,/MYSTRING/{//d;}' file # удалить только первое совпадение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .