msggrep — pattern matching on message catalog




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


input PO file

-D, --directory=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=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


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 MSGCTXT-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.


[-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=SOURCEFILE

select messages extracted from SOURCEFILE

-M, --domain=DOMAINNAME

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=PATTERN

use PATTERN as a regular expression

-f, --file=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


input file is in NeXTstep/GNUstep .strings syntax

Output details


use colors and other text attributes always


use colors and other text attributes if WHEN. WHEN may be 'always', 'never', 'auto', or 'html'.


specify CSS style rule file for --color


do not use C escapes in output (default)


use C escapes in output, no extended chars


write PO file even if empty


indented output style


suppress '#: filename:line' lines

-n, --add-location

preserve '#: filename:line' lines (default)


strict Uniforum output style

-p, --properties-output

write out a Java .properties file


write out a NeXTstep/GNUstep .strings file

-w, --width=NUMBER

set output page width


do not break long message lines, longer than the output page width, into several lines


generate sorted output


sort output by file location

Informative output

-h, --help

display this help and exit

-V, --version

output version information and exit


Written by Bruno Haible.

Reporting Bugs

Report bugs in the bug tracker at <> or by email to <>.

See Also

The full documentation for msggrep is maintained as a Texinfo manual.  If the info and msggrep programs are properly installed at your site, the command

info msggrep

should give you access to the complete manual.


May 2019 GNU gettext-tools 20190512