我需要從「some.jar」讀MANIFEST.MF行家清單文件使用bash如何使用bash
如何使用bash
回答
$ unzip -q -c myarchive.jar META-INF/MANIFEST.MF
-q
將抑制來自解壓縮程序的詳細輸出來讀取JAR MANIFEST.MF文件-c
將提取到stdout
實施例:
$ unzip -q -c commons-lang-2.4.jar META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.5.0_13-119 (Apple Inc.)
Package: org.apache.commons.lang
Extension-Name: commons-lang
Specification-Version: 2.4
Specification-Vendor: Apache Software Foundation
Specification-Title: Commons Lang
Implementation-Version: 2.4
Implementation-Vendor: Apache Software Foundation
Implementation-Title: Commons Lang
Implementation-Vendor-Id: org.apache
X-Compile-Source-JDK: 1.3
X-Compile-Target-JDK: 1.2
或者,您可以使用-p
而不是-q -c
。
-p提取文件到管(標準輸出)。只有文件數據纔會發送到stdout,並且文件始終以二進制格式提取,就像存儲(不進行轉換)一樣。
我知道這個線程是舊的,但它可能涉及的人:從手冊中,使用-p或-c解壓縮將以二進制形式打印輸出。如果你需要以某種方式解析這個輸出(比如關聯數組),你應該用-aa參數強制文本表示,以使其正確。 – tcigler
使用unzip
:
$ unzip -q -c $JARFILE_PATH META-INF/MANIFEST.MF
將靜靜(-q
)讀出的路徑META-INF /從jar文件MANIFEST.MF到stdout(-c
)(它是使用zip格式壓縮)。然後,您可以通過管道將輸出到其它命令來回答,如「什麼是這個罐子主類問題:
$ unzip -q -c $JARFILE_PATH META-INF/MANIFEST.MF | grep 'Main-Class' | cut -d ':' -f 2
(由此,能夠消除不包含字符串Main-Class
所有行,然後在分割的:
線,只保留第二個字段,類名)。當然,要麼適當地定義$JARFILE_PATH
,要麼將$JARFILE_PATH
替換爲您感興趣的jar文件的路徑。
根據您的發行版,安裝unzip
軟件包。然後,只需發出
unzip -p YOUR_FILE.jar META-INF/MANIFEST.MF
這會將內容轉儲到標準輸出。
HTH
$ tar xfO some.jar META-INF/MANIFEST.MF
x
提取物和O
重定向到標準輸出。
注意:似乎只能在bsdtar中工作,而不能在GNU tar中工作。
其他人已經發布了關於使用unzip -p和管道進行grep或awk或任何你需要的東西。雖然這適用於大多數情況,但值得注意的是,由於MANIFEST.MF每行72個字符的限制,因此您可能會對其值在多行中分割的鍵進行拼寫處理,因此將非常難以解析。我很想看到一個實際上可以將渲染值從文件中提取出來的CLI工具。
http://delaltctrl.blogspot.com/2009/11/manifestmf-apparently-you-are-just.html
- 1. 如何使用bash
- 2. 如何使用bash
- 3. 如何使用bash
- 4. 如何使用bash
- 5. 如何使用bash
- 6. 如何使用bash
- 7. 如何使用bash
- 8. 如何使用bash
- 9. 如何使用bash腳本
- 10. 如何使用bash腳本
- 11. 如何使用Windows的bash
- 12. 我如何使用bash
- 13. 如何使用bash 「EVAL」
- 14. 如何使用bash和zsh
- 15. 如何從使用bash
- 16. 如何使用bash腳本
- 17. 如何使AWK使用bash腳本
- 18. 如何保證用戶使用bash
- 19. 如何用zsh或bash使用perlbrew?
- 20. 如何使用`tail`用`timeout`在bash
- 21. 如何使用sudo執行bash函數?
- 22. 如何在bash腳本中使用pbrun?
- 23. 如何在bash中使用函數?
- 24. 如何使用BASH(數字)檢查CHMOD?
- 25. 如何在bash腳本中使用yad?
- 26. 如何使用bash分割輸入?
- 27. 如何使用bash跨服務器scp?
- 28. Unix如何在bash中使用'command()'
- 29. 如何在bash函數上使用stdbuf
- 30. 如何使用bash保持GPU關閉?
jar文件只是zip文件。 –