在UNIX中从文件获取不同的值

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

下面是我可能期望在文件中find的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 ,我将如何在这种情况下应用它?

通常认为使用标准的unix实用程序来尝试和parsingxml是不明智的 。 我已经使用xml2实用程序来parsingxml文件,然后使用grep / awk / sed等来执行我想要的操作。

xmlstarlet也是在shell中parsingxml的一个很好的select,如果出于宗教原因,不能使用例如perl XML :: Simple;)

通过暗示你可能会考虑使用正则expression式(sed)来parsing一个xml文件,你所说的咒语会导致你陷入疯狂之中 ! 请 回头 !