я должен удалить из корневых сертификатов файла и ключей, но, может казаться, не могу сделать это с sed правильно.
файл - что-то вроде этого:
here
there
<ca>
sdasd
dasda
</ca>
<cert>
asasda
asa
</cert>
<key>
asdadsas
</key>
Я должен удалить все от CA до ключа
Для удаления от <ca>
до </cert>
необходимо будет или выйти /
внутренний </cert>
sed '/<ca>/,/<\/cert>/d' file
или использовать альтернативный разделитель, например,
sed '\#<ca>#,\#</cert>#d' file
Напр.
$ sed '\#<ca>#,\#</cert>#d' yourfile
here
there
<key>
asdadsas
</key>
или В случае, добавьте -i
или в --in-place
опция отредактировать файл на месте.
perl
может сделать, соответствие мультилинии -0
perl -0pe 's/\n\<ca\>(.*\n)*?\<\/key\>//' file
добавляет -i
для редактирования файла на месте.