# phpman > man > zipgrep(1)

> **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)
