Чтобы удалить строку перед совпадением с помощью команды 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следует заменить именем вашего файл.