2013-01-09 60 views
0

在Java中,META-INF/MANIFEST.MF文件具有最大行長度。除此之外,自動換行插入,在下一行的開頭用空格信號,就像這樣:展開Java清單文件fin bash

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 

不幸的是,這使得它痛苦地在bash grepsed

你會如何解決它,使用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正常工作的。

謝謝!

編輯:related question

回答

2

試試這個Perl的一行代碼:

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

它消除了一個斷行後面加一個空格的每個實例。

+1

太棒了!這是訣竅,謝謝!由於windows生成的文件只有一個細節,您還需要刪除\ r,使用:'perl -0777 -wpe's/\ r?\ n // g'MANIFEST.MF' – Miquel

+0

也爲我工作,但我的MANIFEST.MF包含回車符,所以行被覆蓋。 'perl ... | tr -d'\ r''爲我做了訣竅。 –