# phpman > man > msggrep(1)

[MSGGREP(1)](https://www.chedong.com/phpMan.php/man/MSGGREP/1/markdown)                                  User Commands                                 [MSGGREP(1)](https://www.chedong.com/phpMan.php/man/MSGGREP/1/markdown)



## NAME
       msggrep - pattern matching on message catalog

## SYNOPSIS
       **msggrep** [_OPTION_] [_INPUTFILE_]

## DESCRIPTION
       Extracts  all  messages of a translation catalog that match a given pattern or belong to some
       given source files.

       Mandatory arguments to long options are mandatory for short options too.

### Input file location:
       INPUTFILE
              input PO file

### -D --directory
              add DIRECTORY to list for input files search

       If no input file is given or if it is -, standard input is read.

### Output file location:
### -o --output-file
              write output to specified file

       The results are written to standard output if no output file is specified or if it is -.

### Message selection:
              [-N SOURCEFILE]... [-M DOMAINNAME]...  [-J MSGCTXT-PATTERN] [-K MSGID-PATTERN] [-T MS‐
              GSTR-PATTERN] [-C COMMENT-PATTERN] [-X EXTRACTED-COMMENT-PATTERN]

       A message is selected if it comes from one of the specified source files, or if it comes from
       one of the specified domains, or if **-J** is given  and  its  context  (msgctxt)  matches  MSGC‐
       TXT-PATTERN,  or if **-K** is given and its key (msgid or msgid_plural) matches MSGID-PATTERN, or
       if **-T** is given and its translation (msgstr) matches MSGSTR-PATTERN, or if **-C** is given and the
       translator's  comment  matches  COMMENT-PATTERN,  or if **-X** is given and the extracted comment
       matches EXTRACTED-COMMENT-PATTERN.

       When more than one selection criterion is specified, the set  of  selected  messages  is  the
       union of the selected messages of each criterion.

       MSGCTXT-PATTERN  or  MSGID-PATTERN  or  MSGSTR-PATTERN  or  COMMENT-PATTERN or EXTRACTED-COM‐
       MENT-PATTERN syntax:

              [-E | **-F]** [-e PATTERN | **-f** FILE]...

       PATTERNs are basic regular expressions by default, or extended regular expressions if  **-E**  is
       given, or fixed strings if **-F** is given.

### -N --location
              select messages extracted from SOURCEFILE

### -M --domain
              select messages belonging to domain DOMAINNAME

### -J --msgctxt
              start of patterns for the msgctxt

### -K --msgid
              start of patterns for the msgid

### -T --msgstr
              start of patterns for the msgstr

### -C --comment
              start of patterns for the translator's comment

### -X --extracted-comment
              start of patterns for the extracted comment

### -E --extended-regexp
              PATTERN is an extended regular expression

### -F --fixed-strings
              PATTERN is a set of newline-separated strings

### -e --regexp
              use PATTERN as a regular expression

### -f --file
              obtain PATTERN from FILE

### -i --ignore-case
              ignore case distinctions

### -v --invert-match
              output only the messages that do not match any selection criterion

### Input file syntax:
### -P --properties-input
              input file is in Java .properties syntax

### --stringtable-input
              input file is in NeXTstep/GNUstep .strings syntax

### Output details:
### --color
              use colors and other text attributes always

       **--color**=_WHEN_
              use  colors and other text attributes if WHEN.  WHEN may be 'always', 'never', 'auto',
              or 'html'.

       **--style**=_STYLEFILE_
              specify CSS style rule file for **--color**

### --no-escape
              do not use C escapes in output (default)

### --escape
              use C escapes in output, no extended chars

### --force-po
              write PO file even if empty

### --indent
              indented output style

### --no-location
              suppress '#: filename:line' lines

### -n --add-location
              preserve '#: filename:line' lines (default)

### --strict
              strict Uniforum output style

### -p --properties-output
              write out a Java .properties file

### --stringtable-output
              write out a NeXTstep/GNUstep .strings file

### -w --width
              set output page width

### --no-wrap
              do not break long message lines, longer than the output page width, into several lines

### --sort-output
              generate sorted output

### --sort-by-file
              sort output by file location

### Informative output:
### -h --help
              display this help and exit

### -V --version
              output version information and exit

## AUTHOR
       Written by Bruno Haible.

## REPORTING BUGS
       Report bugs in the bug tracker at <<https://savannah.gnu.org/projects/gettext>> or by email  to
       <<bug-gettext@gnu.org>>.

## COPYRIGHT
       Copyright  ©  2001-2020  Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or
       later <<https://gnu.org/licenses/gpl.html>>
       This is free software: you are free to change and redistribute it.  There is NO WARRANTY,  to
       the extent permitted by law.

## SEE ALSO
       The  full  documentation for **msggrep** is maintained as a Texinfo manual.  If the **info** and **msg**‐‐
       **grep** programs are properly installed at your site, the command

              **info** **msggrep**

       should give you access to the complete manual.



GNU gettext-tools 0.21                       March 2022                                   [MSGGREP(1)](https://www.chedong.com/phpMan.php/man/MSGGREP/1/markdown)
