Я пытаюсь совместить шаблон с канальным вводом и/или файлом, а затем удалять из сопоставленных строк в конец файла включительно. Я везде искал, но не могу найти выражение, которое бы соответствовало моим потребностям.
Следующее выражение позволяет мне удалить в начало потока, включая сопоставленный шаблон:
sed -e '1,/Files:/d'
Учитывая некоторые примеры данных:
Blah blah blah
Foobar foo foo
Files:
somefiles.tar.gz 1 2 3
somefiles.tar.gz 1 2 3
-----THIS STUFF IS USELESS-----
BLEH BLEH BLEH
BLEH BLEH BLEH
Выполнение вышеуказанного выражения дает:
Files:
somefiles.tar.gz 1 2 3
somefiles.tar.gz 1 2 3
-----THIS STUFF IS USELESS-----
BLEH BLEH BLEH
BLEH BLEH BLEH
Я хотел бы добиться подобного эффекта, но в противоположном направлении. Используя вывод из предыдущего выражения, я хочу удалить из -----THIS STUFF IS USELESS-----
в конец файла включительно. Он должен произвести (после прохождения первого выражения):
Files:
somefiles.tar.gz 1 2 3
somefiles.tar.gz 1 2 3
Я также открыт для использования любых других инструментов, если он доступен в любой другой системе POSIX и не использует специфичные для версии (например, специфичные для GNU) параметры.
Фактический текст можно найти здесь: http://pastebin.com/CYBbJ3qr
Обратите внимание на изменение от -----THIS STUFF IS USELESS-----
до -----BEGIN PGP SIGNATURE-----
.