У меня есть файл, который я хотел бы проанализировать, чтобы извлечь из него определенные значения. Я не знаю, какую команду и синтаксис мне следует использовать (возможно, sed
?).
Ниже приведены 2 примера строк, которые я мог бы ожидать найти в файле. Что мне нужно, так это ценность name
(т.е. 1234
и xyz
соответственно в примере), а также значение jndiName
.
factories xmi:type="resources.url:URL" xmi:id="" name="1234" jndiName="xyz_aBC"
factories xmi:type="resources.url:URL" xmi:id="URL_1323780357724" name="xyz" jndiName="abc"
Если я использую sed
, как бы я применил это в этой ситуации?
Обычно это считается неразумным чтобы попытаться проанализировать xml с помощью стандартных утилит unix. Я использовал xml2 утилита для синтаксического анализа файлов xml, а затем используйте grep / awk / sed и т. д., чтобы делать то, что я хочу.
Намекнув, что вы можете рассмотреть возможность использования регулярных выражений (sed) для анализа XML-файла, вы произнесли заклинание, которое приведет вас в пасть безумия! пожалуйста перемена назад!
xmlstarlet также является хорошей альтернативой для синтаксического анализа xml в оболочке, если по религиозным причинам его нельзя использовать, например. perl XML :: Simple;)