0
我试图解析filelists.xml
(该RPM包的元数据)。从Bash或C解析filelists.xml?
标签的样子:
<package pkgid="b63972e0b2442412bd81bcb24065e264c02bc3fc" name="basesystem" arch="noarch"><version epoch="0" ver="10.0" rel="3_WR4.1.0.0" /></package>
我需要解析这个格式的数据:package.name-version.ver
例如在上面的例子中,它将返回:basesystem-10.0
我想使用bash或C.
在bash,我试图与sed和awk命令。 与C,我试图逐行阅读,并开始采取“名称= \”“和”“”之间的文本。 我认为更好的方法来与bash再次尝试。 –
我认为这不是足够的信息。一个好的选择是使用'perl'或'python'的xml解析器,但我不知道哪个格式具有'filelists.xml'。如果所有线路有相同的元素,并在相同的顺序或许'sed'或'awk'可以足够多的属性,但谁知道......鉴于输入我会用手工复制提取数据和粘贴:-) – Birei
'egrep的 - o'(name | ver)=“[[:alnum:] \。] +”'| paste -s -d'\ n''会给你所需的键/值对。从那里你可以手动解析出来,或者如果你对数据的安全性有信心,你可以用shell来“评估”它们。 – iscfrc