# zipgrep - search files in a ZIP archive for lines matching a pat... - man(1) - [phpMan]

> **TLDR:** Find patterns in files in a Zip archive using extended `regex` (supports `?`, `+`, `{}`, `()`, and `|`).
>
- Search for a pattern within a Zip archive:
  `zipgrep "{{search_pattern}}" {{path/to/file.zip}}`
- Print file name and line number for each match:
  `zipgrep {{-H|--with-filename}} {{-n|--line-number}} "{{search_pattern}}" {{path/to/file.zip}}`
- Search for lines that do not match a pattern:
  `zipgrep {{-v|--invert-match}} "{{search_pattern}}" {{path/to/file.zip}}`
- Specify files inside a Zip archive from search:
  `zipgrep "{{search_pattern}}" {{path/to/file.zip}} {{file/to/search1}} {{file/to/search2}}`
- Exclude files inside a Zip archive from search:
  `zipgrep "{{search_pattern}}" {{path/to/file.zip}} {{-x|--line-regexp}} {{file/to/exclude1}} {{file/to/exclude2}}`

*Source: tldr-pages*

---

[_ZIPGREP_(1)](https://www.chedong.com/phpMan.php/man/ZIPGREP/1/markdown)                             General Commands Manual                            [_ZIPGREP_(1)](https://www.chedong.com/phpMan.php/man/ZIPGREP/1/markdown)

## NAME
       zipgrep - search files in a ZIP archive for lines matching a pattern

## SYNOPSIS
       **zipgrep **[**egrep_options**] _pattern_ _file_[_.zip_] [_file(s)_ ...]  [**-x _**xfile(s)_ ...]

## DESCRIPTION
       _zipgrep_  will  search  files within a ZIP archive for lines matching the given string or pat‐
       tern.  _zipgrep_ is a shell script and requires [_egrep_(1)](https://www.chedong.com/phpMan.php/man/egrep/1/markdown) and [_unzip_(1)](https://www.chedong.com/phpMan.php/man/unzip/1/markdown) to function.  Its  output
       is identical to that of [_egrep_(1)](https://www.chedong.com/phpMan.php/man/egrep/1/markdown).

## ARGUMENTS
       _pattern_
              The  pattern to be located within a ZIP archive.  Any string or regular expression ac‐
              cepted by [_egrep_(1)](https://www.chedong.com/phpMan.php/man/egrep/1/markdown) may be used.  _file_[_.zip_] Path of the ZIP  archive.   (Wildcard  ex‐
              pressions for the ZIP archive name are not supported.)  If the literal filename is not
              found,  the  suffix  .zip  is  appended.  Note that self-extracting ZIP files are sup‐
              ported, as with any other ZIP archive; just specify the .exe suffix (if  any)  explic‐
              itly.

       [_file(s)_]
              An  optional list of archive members to be processed, separated by spaces.  If no mem‐
              ber files are specified, all members of the ZIP archive are searched.  Regular expres‐
              sions (wildcards) may be used to match multiple members:

              *      matches a sequence of 0 or more characters

              ?      matches exactly 1 character

              [...]  matches any single character found inside the brackets; ranges are specified by
                     a beginning character, a hyphen, and an ending character.   If  an  exclamation
                     point or a caret (`!' or `^') follows the left bracket, then the range of char‐
                     acters  within the brackets is complemented (that is, anything _except_ the char‐
                     acters inside the brackets is considered a match).

              (Be sure to quote any character that might otherwise be interpreted or modified by the
              operating system.)

       [**-x _**xfile(s)_]
              An optional list of archive members to be excluded from  processing.   Since  wildcard
              characters  match  directory  separators (`/'), this option may be used to exclude any
              files that are in subdirectories.  For example, ``zipgrep grumpy foo *.[ch]  -x  */*''
              would  search for the string ``grumpy'' in all C source files in the main directory of
              the ``foo'' archive, but none in any subdirectories.  Without the  **-x  **option,  all  C
              source files in all directories within the zipfile would be searched.

## OPTIONS
       All options prior to the ZIP archive filename are passed to [_egrep_(1)](https://www.chedong.com/phpMan.php/man/egrep/1/markdown).

## SEE ALSO
       [_egrep_(1)](https://www.chedong.com/phpMan.php/man/egrep/1/markdown), [_unzip_(1)](https://www.chedong.com/phpMan.php/man/unzip/1/markdown), [_zip_(1)](https://www.chedong.com/phpMan.php/man/zip/1/markdown), [_funzip_(1)](https://www.chedong.com/phpMan.php/man/funzip/1/markdown), [_zipcloak_(1)](https://www.chedong.com/phpMan.php/man/zipcloak/1/markdown), [_zipinfo_(1)](https://www.chedong.com/phpMan.php/man/zipinfo/1/markdown), [_zipnote_(1)](https://www.chedong.com/phpMan.php/man/zipnote/1/markdown), [_zipsplit_(1)](https://www.chedong.com/phpMan.php/man/zipsplit/1/markdown)

## URL
       The Info-ZIP home page is currently at
       <http://www.info-zip.org/pub/infozip/>
       or
       ftp://ftp.info-zip.org/pub/infozip/ .

## AUTHORS
       _zipgrep_ was written by Jean-loup Gailly.

Info-ZIP                                    20 April 2009                                 [_ZIPGREP_(1)](https://www.chedong.com/phpMan.php/man/ZIPGREP/1/markdown)
