1

在 Java 中,META-INF/MANIFEST.MF 文件具有最大行长度。除此之外,会插入一个自动换行符,并在下一行的开头用空格表示,如下所示:

Manifest-Version: 1.0
Export-Package: com.google.common.net;uses:="com.google.common.base,ja
 vax.annotation[file continues]
Bundle-Name: Guava: Google Core Libraries for Java

grep不幸的是,这使得sedbash 变得很痛苦。

您将如何使用 bash 将其解包到其中?

Manifest-Version: 1.0
Export-Package: com.google.common.net;uses:="com.google.common.base,javax.annotation[file continues]
Bundle-Name: Guava: Google Core Libraries for Java

我会尝试sed,但它只能在每行的基础上工作,而且我也无法tr正常工作。

谢谢!

编辑:相关问题

4

2 回答 2

2

试试这个 Perl 单行:

$ perl -0777 -wpe 's/\n //g' MANIFEST.MF

它删除每个换行符的实例,后跟一个空格。

于 2013-01-09T13:24:00.323 回答
0

使用 -z 以空行分隔,-i 就地编辑

sed -i -z 's:\n ::g' MANIFEST.MF

我的清单有 CR,所以

sed -i -z -r 's:\r?\n ::g' MANIFEST.MF
于 2020-11-25T15:23:58.920 回答