Несколько методов удаления строки перед совпадением с помощью Sed

Чтобы удалить строку перед совпадением с помощью команды sed, вы можете использовать различные методы. Вот несколько примеров:

Метод 1:

sed -e '/pattern/{x;d;}' -e x file.txt

Метод 2:

sed -n '/pattern/{x;g;p;}' file.txt

Метод 3:

sed '/pattern/{x;N;d;}' file.txt

Давайте разберем каждый метод:

Метод 1:
В этом методе выполняется поиск по шаблону, и когда совпадение найдено, текущая строка удаляется вместе со строкой, хранящейся в буфере хранения. Затем буфер хранения заменяется пространством шаблонов.

Метод 2:
Этот метод использует параметр -nдля подавления автоматической печати. При обнаружении шаблона он заменяет буфер хранения пространством шаблонов, затем извлекает буфер хранения и печатает его.

Метод 3:
Здесь, когда шаблон сопоставлен, пространство шаблонов заменяется буфером хранения. Следующая строка добавляется в пространство шаблонов с помощью команды N, а затем обе строки удаляются.

Обратите внимание, что во всех этих методах patternследует заменить фактическим шаблоном, который вы ищете, а file.txtследует заменить именем вашего файл.