Use vim to view and edit the contents of a jar file without extracting:
Open the jar in vim like this:
vim rabbitmq-client.jar
You are presented with a list of files:
1 " zip.vim version v22
2 " Browsing zipfile /var/www/sandbox/eric/rabbitmq-client.jar
3 " Select a file with cursor and press ENTER
4
5 META-INF/
6 META-INF/MANIFEST.MF
7 com/
8 com/rabbitmq/
9 com/rabbitmq/client/
10 com/rabbitmq/client/impl/
11 com/rabbitmq/client/impl/recovery/
12 com/rabbitmq/tools/
13 com/rabbitmq/tools/json/
14 com/rabbitmq/tools/jsonrpc/
15 com/rabbitmq/utility/
Put the cursor over the META-INF/MANIFEST.MF
and press Enter. You see this:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_31-b31 (Sun Microsystems Inc.)
Export-Package: com.rabbitmq.client;version="3.3.5";uses:="com.rabbitm
q.client.impl,com.rabbitmq.utility,javax.net,javax.net.ssl,javax.secu
rity.auth.callback,javax.security.sasl",com.rabbitmq.client.impl;vers
ion="3.3.5";uses:="com.rabbitmq.client,com.rabbitmq.utility,javax.net
",com.rabbitmq.client.impl.recovery;version="3.3.5";uses:="com.rabbit
mq.client,com.rabbitmq.client.impl",com.rabbitmq.tools;version="3.3.5
";uses:="com.rabbitmq.utility",com.rabbitmq.tools.json;version="3.3.5
",com.rabbitmq.tools.jsonrpc;version="3.3.5";uses:="com.rabbitmq.clie
nt",com.rabbitmq.utility;version="3.3.5"
Bundle-Vendor: SpringSource
Bundle-Version: 3.3.5
Tool: Bundlor 1.0.0.RELEASE
Bundle-Name: RabbitMQ Java AMQP client library
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.rabbitmq.client
Import-Package: javax.net;version="0",javax.net.ssl;version="0",javax.
security.auth.callback;version="0",javax.security.sasl;version="0"
Name: rabbitmq-client
Specification-Title: AMQP
Specification-Version: 0.9.1
Specification-Vendor: AMQP Working Group (www.amqp.org)
Implementation-Title: RabbitMQ
Implementation-Version: 3.3.5
Implementation-Vendor: Rabbit Technologies Ltd. (www.rabbitmq.com)
Change a few lines using normal vim editing commands.
press 'i' to enter insert mode
edit your lines
press :wq<enter> to write and quit
You are taken back to a list of files in the jar, quit out.
:q <enter>
Check to see if it the changes are permanent:
Follow the above steps again to inspect the file again,
the change should still be there.
http://superuser.com/questions/216617/zip-linux-view-files-in-archive – cutrightjm – 2012-04-27T12:49:32.967
@ekaj less and unzip doesnt help me - it doesn't show me the size of files in the archive for example, or date&time of last modification (unless I'll decompress it somewhere to /tmp/AAA and then will run ls -la against /tmp/AAA - which is what I want to avoid). – javagirl – 2012-05-01T17:20:38.087
Don't unzip the .zip file, just open it. You can see the sizes and modification dates. – cutrightjm – 2012-05-02T12:06:57.757
how can I open it in the linux server command line? – javagirl – 2012-05-03T15:34:58.650
@javagirl:
unzip -l
does show you the size of files in the archive and date & time of last modification without unpacking the package. See my answer below. Actually, this is a duplicate as ekaj suggested. – DevSolar – 2012-06-19T11:53:43.547