Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am using unzip to extract files from a mass filer device where ZIP files are stored.

unzip -o somefile.zip -c *somecriteria* -d somedirectory

It works well but when I attempt to add another criteria to narrow my search, unzip extracts nothing, even though files are present.

unzip -o somefile.zip -c *criteriaA* -c *criteriaB* -d somedirectory

Is there a way to specify criterias when extracting files from a ZIP?

share|improve this question

migrated from stackoverflow.com Jan 25 '13 at 2:09

This question came from our site for professional and enthusiast programmers.

1 Answer 1

up vote 2 down vote accepted

I think you have the unzip command line confused.

-bash-3.1$ unzip -h
UnZip 5.52 of 28 February 2005, by Info-ZIP.  Maintained by C. Spieler.  Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).

-p  extract files to pipe, no messages     -l  list files (short format)
-f  freshen existing files, create none    -t  test compressed archive data
-u  update files, create if necessary      -z  display archive comment
-x  exclude files that follow (in xlist)   -d  extract files into exdir

modifiers:                                   -q  quiet mode (-qq => quieter)
-n  never overwrite existing files         -a  auto-convert any text files
-o  overwrite files WITHOUT prompting      -aa treat ALL files as text
-j  junk paths (do not make directories)   -v  be verbose/print version info
-C  match filenames case-insensitively     -L  make (some) names lowercase
-X  restore UID/GID info                   -V  retain VMS version numbers
-K  keep setuid/setgid/tacky permissions   -M  pipe through "more" pager
Examples (see unzip.txt for more info):
unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
unzip -p foo | more  => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer

In Unix,

unzip zipfile.zip -d destdir "wildcard1" "wildcard2"

should work. (The quotes around the wildcards are to prevent the shell from expanding them.)

share|improve this answer
    
I won't disagree about the confusion. Thank you. Accepted. –  Alan B Jan 24 '13 at 20:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.