Viewing the contents of an archive
Everyone now and then I want to check the contents of an archive without unpacking it and I tend to use http://linux.about.com/od/commands/l/blcmdl1_unzip.htm to do so:
$ unzip -l batch-import-jar-with-dependencies.jar | tail -n 10
1645 02-17-13 01:03 org/neo4j/batchimport/StdOutReport.class
3089 02-17-13 01:03 org/neo4j/batchimport/structs/NodeStruct.class
1244 02-17-13 01:03 org/neo4j/batchimport/structs/Property.class
1732 02-17-13 01:03 org/neo4j/batchimport/structs/PropertyHolder.class
1635 02-17-13 01:03 org/neo4j/batchimport/structs/Relationship.class
905 02-17-13 01:03 org/neo4j/batchimport/utils/Chunker.class
1884 02-17-13 01:03 org/neo4j/batchimport/utils/Params.class
4445 02-17-13 01:03 org/neo4j/batchimport/Utils.class
-------- -------
49947859 16447 files
It does the job although it does print out some information that we’re not really interested in so I was intrigued to see that Alistair used http://linux.about.com/library/cmd/blcmdl1_zipinfo.htm when he wanted to achieve a similar thing:
$ zipinfo -1 batch-import-jar-with-dependencies.jar | tail -n 10
org/neo4j/batchimport/ParallelImporter.class
org/neo4j/batchimport/Report.class
org/neo4j/batchimport/StdOutReport.class
org/neo4j/batchimport/structs/NodeStruct.class
org/neo4j/batchimport/structs/Property.class
org/neo4j/batchimport/structs/PropertyHolder.class
org/neo4j/batchimport/structs/Relationship.class
org/neo4j/batchimport/utils/Chunker.class
org/neo4j/batchimport/utils/Params.class
org/neo4j/batchimport/Utils.class
From a bit of man page reading it sounds like zipinfo is unzip, but with different flags that give an output that’s a cross between unzip and ls:
The format is a cross between Unix
ls -l'' and
unzip -v'' output. See DETAILED DESCRIPTION below. Note that zipinfo is the same program as unzip (under Unix, a link to it); on some systems, however, zipinfo support may have been omitted when unzip was compiled.
As long as I remember I’ll be using zipinfo from now on!
About the author
I'm currently working on short form content at ClickHouse. I publish short 5 minute videos showing how to solve data problems on YouTube @LearnDataWithMark. I previously worked on graph analytics at Neo4j, where I also co-authored the O'Reilly Graph Algorithms Book with Amy Hodler.