从 UNIX 中的文件获取特定变量的不同值

从 UNIX 中的文件获取特定变量的不同值

我有一个文件,我想解析它以从中提取某些值。我不知道应该使用什么命令和语法(也许sed?)。

下面是我可能希望在文件中找到的 2 行示例。我需要的是 的值name(即示例中的1234xyz)以及 的值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,我该如何在这种情况下应用它?

答案1

一般来说被认为是不明智的尝试使用标准 unix 实用程序解析 xml。我使用了xml2实用程序来解析 xml 文件,然后使用 grep/awk/sed 等来执行我想要的操作。

答案2

xmlstarlet如果由于宗教原因不能使用例如 perl XML::Simple ,它也是在 shell 中解析 xml 的一个很好的选择;)

答案3

通过暗示你可能会考虑使用正则表达式(sed)来解析 xml 文件,你已经说出了一个咒语,它将引导你进入疯狂之口 转动 后退

相关内容