【发布时间】:2015-10-30 13:19:11
【问题描述】:
我需要帮助来 grep 从 OSGi MANIFEST.MF 文件中导出的包。 例如,来自以下文件:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyBundle
Bundle-SymbolicName: mybundle
Bundle-Version: 1.0.0
Import-Package: org.osgi.framework;version="1.6.0",
org.osgi.util.tracker;version="1.3.1"
Export-Package: foo.bar.bla,
foo.bar.blo,
foo.bor.ble,
foo.bor.bli
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Activator: foo.bar.bla.Activator
我需要得到:
foo.bar.bla
foo.bar.blo
foo.bor.ble
foo.bor.bli
我们必须记住,最后一个包之后的以下标记可能是 Bundle-RequiredExecutionEnvironmen 或 Bundle-Activator 或任何其他。
编辑: 与:
cat MANIFEST.MF | awk '/Export-Package:(.*)/ {print $2; flag=1} flag=1 && /:/ {flag=0;next } flag=1 {print}' | sed 's/,//g'
我明白了:
org.osgi.util.tracker;version="1.3.1"
foo.bar.bla
foo.bar.blo
foo.bor.ble
foo.bor.bli
它不应该检索 org.osgi.util.tracker;version="1.3.1"
【问题讨论】:
-
请告诉我们您的尝试
-
StackOverflow 是一个问答网站。你有什么想问的吗?
-
问题是我该如何做我上面解释的事情。