gpt4 book ai didi

linux - 在提取一个值以在 linux 中提取其他值后,如何在 xml 文件上运行循环?

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:27 27 4
gpt4 key购买 nike

我必须根据其他值(包名称)从大型 XML 文件中提取值(即值),首先删除重复项,然后对其运行循环。

grep -i 'abc.jar' /tmp/<filename> ==> 也删除重复项

输出=>

<Package Name="abc.jar="OUI" Version="1.o">
<Property Name="InstallLocation" Value="/<some path>/abc.jar"/>
<Package Name="abc.jar" Evidence="OUI" Version="1.0">
<Property Name="InstallLocation" Value="/<some path/abc.jar"/>
<Package Name="abc.jar" Evidence="OUI" Version="1.0">
<Property Name="InstallLocation" Value="/<some path>/abc.jar"/>

我可以使用以下命令提取所有包名称,但无法继续。

grep -P -o -e '(?<=Package Name=").*?(?=")' <filename>

abc.jar
abc.jar
xyz.ear
xyz.ear
....contd

最佳答案

您可以通过管道传输到 sort -u:

grep -P -o -e '(?<=Package Name=").*?(?=")' <filename> | sort -u

-u 选项:

 -u, --unique
Unique keys. Suppress all lines that have a key that is equal to an already processed one.
This option, similarly to -s, implies a stable sort. If used with -c or -C,
sort also checks that there are no lines with duplicate keys.

关于linux - 在提取一个值以在 linux 中提取其他值后,如何在 xml 文件上运行循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54528456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com