Пытаясь найти и заменить содержимое в xml-файле
Я запускаю nmap для разных хостов и получаю вывод xml для каждого прогона (это происходит в конвейере). Я объединяю файлы xml для каждого прогона вобъединенный файл xml
. Выше указано предоставление только фона.
Моя актуальная проблема:
Я хочу заменить часть содержимого в объединенномXML-файл
Я пытался sed -i -e , но он работает только для третьей строки, где я пытаюсь изменить ссылку, но вторая строка не работает, возможно, из-за пробелов в строке
У меня есть файл test.xml, в котором мне нужно заменить некоторый контент
<?xml version="1.0"?>
<!DOCTYPE nmaprun PUBLIC "-//IDN nmap.org//DTD Nmap XML 1.04//EN" "https://svn.nmap.org/nmap/docs/nmap.dtd">
<?xml-stylesheet href="https://svn.nmap.org/nmap/docs/nmap.xsl" type="text/xsl"?>
Во второй строке я хочу удалить контент после nmaprun (Remove 'PUBLIC ........ пока .. .dtd ")> должен остаться
после замены должно быть так:
<!DOCTYPE nmaprun>
и третью строку я хочу заменить https://svn.nmap.org/nmap/docs/nmap.xsl
на file:///usr/local/bin/../share/nmap/nmap.xsl
после замены должно отображаться как
<?xml-stylesheet href="file:///usr/local/bin/../share/nmap/nmap.xsl" type="text/xsl"?>
после двух строкпоместите его как
<?xml version="1.0"?>
<!DOCTYPE nmaprun>
<?xml-stylesheet href="file:///usr/local/bin/../share/nmap/nmap.xsl" type="text/xsl"?>