{
    "content": [
        {
            "type": "text",
            "text": "# MSGGREP (man)\n\n## NAME\n\nmsggrep - pattern matching on message catalog\n\n## SYNOPSIS\n\nmsggrep [OPTION] [INPUTFILE]\n\n## DESCRIPTION\n\nExtracts  all  messages of a translation catalog that match a given pattern or belong to some\ngiven source files.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (39 subsections)\n- **AUTHOR**\n- **REPORTING BUGS**\n- **COPYRIGHT**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "MSGGREP",
        "section": "",
        "mode": "man",
        "summary": "msggrep - pattern matching on message catalog",
        "synopsis": "msggrep [OPTION] [INPUTFILE]",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "-D",
                "long": "--directory",
                "arg": null,
                "description": "add DIRECTORY to list for input files search If no input file is given or if it is -, standard input is read."
            },
            {
                "flag": "-o",
                "long": "--output-file",
                "arg": null,
                "description": "write output to specified file The results are written to standard output if no output file is specified or if it is -."
            },
            {
                "flag": "-N",
                "long": "--location",
                "arg": null,
                "description": "select messages extracted from SOURCEFILE"
            },
            {
                "flag": "-M",
                "long": "--domain",
                "arg": null,
                "description": "select messages belonging to domain DOMAINNAME"
            },
            {
                "flag": "-J",
                "long": "--msgctxt",
                "arg": null,
                "description": "start of patterns for the msgctxt"
            },
            {
                "flag": "-K",
                "long": "--msgid",
                "arg": null,
                "description": "start of patterns for the msgid"
            },
            {
                "flag": "-T",
                "long": "--msgstr",
                "arg": null,
                "description": "start of patterns for the msgstr"
            },
            {
                "flag": "-C",
                "long": "--comment",
                "arg": null,
                "description": "start of patterns for the translator's comment"
            },
            {
                "flag": "-X",
                "long": "--extracted-comment",
                "arg": null,
                "description": "start of patterns for the extracted comment"
            },
            {
                "flag": "-E",
                "long": "--extended-regexp",
                "arg": null,
                "description": "PATTERN is an extended regular expression"
            },
            {
                "flag": "-F",
                "long": "--fixed-strings",
                "arg": null,
                "description": "PATTERN is a set of newline-separated strings"
            },
            {
                "flag": "-e",
                "long": "--regexp",
                "arg": null,
                "description": "use PATTERN as a regular expression"
            },
            {
                "flag": "-f",
                "long": "--file",
                "arg": null,
                "description": "obtain PATTERN from FILE"
            },
            {
                "flag": "-i",
                "long": "--ignore-case",
                "arg": null,
                "description": "ignore case distinctions"
            },
            {
                "flag": "-v",
                "long": "--invert-match",
                "arg": null,
                "description": "output only the messages that do not match any selection criterion"
            },
            {
                "flag": "-P",
                "long": "--properties-input",
                "arg": null,
                "description": "input file is in Java .properties syntax"
            },
            {
                "flag": "",
                "long": "--stringtable-input",
                "arg": null,
                "description": "input file is in NeXTstep/GNUstep .strings syntax"
            },
            {
                "flag": "",
                "long": "--color",
                "arg": null,
                "description": "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"
            },
            {
                "flag": "",
                "long": "--no-escape",
                "arg": null,
                "description": "do not use C escapes in output (default)"
            },
            {
                "flag": "",
                "long": "--escape",
                "arg": null,
                "description": "use C escapes in output, no extended chars"
            },
            {
                "flag": "",
                "long": "--force-po",
                "arg": null,
                "description": "write PO file even if empty"
            },
            {
                "flag": "",
                "long": "--indent",
                "arg": null,
                "description": "indented output style"
            },
            {
                "flag": "",
                "long": "--no-location",
                "arg": null,
                "description": "suppress '#: filename:line' lines"
            },
            {
                "flag": "-n",
                "long": "--add-location",
                "arg": null,
                "description": "preserve '#: filename:line' lines (default)"
            },
            {
                "flag": "",
                "long": "--strict",
                "arg": null,
                "description": "strict Uniforum output style"
            },
            {
                "flag": "-p",
                "long": "--properties-output",
                "arg": null,
                "description": "write out a Java .properties file"
            },
            {
                "flag": "",
                "long": "--stringtable-output",
                "arg": null,
                "description": "write out a NeXTstep/GNUstep .strings file"
            },
            {
                "flag": "-w",
                "long": "--width",
                "arg": null,
                "description": "set output page width"
            },
            {
                "flag": "",
                "long": "--no-wrap",
                "arg": null,
                "description": "do not break long message lines, longer than the output page width, into several lines"
            },
            {
                "flag": "",
                "long": "--sort-output",
                "arg": null,
                "description": "generate sorted output"
            },
            {
                "flag": "",
                "long": "--sort-by-file",
                "arg": null,
                "description": "sort output by file location"
            },
            {
                "flag": "-h",
                "long": "--help",
                "arg": null,
                "description": "display this help and exit"
            },
            {
                "flag": "-V",
                "long": "--version",
                "arg": null,
                "description": "output version information and exit"
            }
        ],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 5,
                "subsections": [
                    {
                        "name": "Input file location:",
                        "lines": 3
                    },
                    {
                        "name": "-D --directory",
                        "lines": 4,
                        "flag": "-D",
                        "long": "--directory"
                    },
                    {
                        "name": "Output file location:",
                        "lines": 1
                    },
                    {
                        "name": "-o --output-file",
                        "lines": 4,
                        "flag": "-o",
                        "long": "--output-file"
                    },
                    {
                        "name": "Message selection:",
                        "lines": 21
                    },
                    {
                        "name": "-N --location",
                        "lines": 2,
                        "flag": "-N",
                        "long": "--location"
                    },
                    {
                        "name": "-M --domain",
                        "lines": 2,
                        "flag": "-M",
                        "long": "--domain"
                    },
                    {
                        "name": "-J --msgctxt",
                        "lines": 2,
                        "flag": "-J",
                        "long": "--msgctxt"
                    },
                    {
                        "name": "-K --msgid",
                        "lines": 2,
                        "flag": "-K",
                        "long": "--msgid"
                    },
                    {
                        "name": "-T --msgstr",
                        "lines": 2,
                        "flag": "-T",
                        "long": "--msgstr"
                    },
                    {
                        "name": "-C --comment",
                        "lines": 2,
                        "flag": "-C",
                        "long": "--comment"
                    },
                    {
                        "name": "-X --extracted-comment",
                        "lines": 2,
                        "flag": "-X",
                        "long": "--extracted-comment"
                    },
                    {
                        "name": "-E --extended-regexp",
                        "lines": 2,
                        "flag": "-E",
                        "long": "--extended-regexp"
                    },
                    {
                        "name": "-F --fixed-strings",
                        "lines": 2,
                        "flag": "-F",
                        "long": "--fixed-strings"
                    },
                    {
                        "name": "-e --regexp",
                        "lines": 2,
                        "flag": "-e",
                        "long": "--regexp"
                    },
                    {
                        "name": "-f --file",
                        "lines": 2,
                        "flag": "-f",
                        "long": "--file"
                    },
                    {
                        "name": "-i --ignore-case",
                        "lines": 2,
                        "flag": "-i",
                        "long": "--ignore-case"
                    },
                    {
                        "name": "-v --invert-match",
                        "lines": 2,
                        "flag": "-v",
                        "long": "--invert-match"
                    },
                    {
                        "name": "Input file syntax:",
                        "lines": 1
                    },
                    {
                        "name": "-P --properties-input",
                        "lines": 2,
                        "flag": "-P",
                        "long": "--properties-input"
                    },
                    {
                        "name": "--stringtable-input",
                        "lines": 2,
                        "long": "--stringtable-input"
                    },
                    {
                        "name": "Output details:",
                        "lines": 1
                    },
                    {
                        "name": "--color",
                        "lines": 9,
                        "long": "--color"
                    },
                    {
                        "name": "--no-escape",
                        "lines": 2,
                        "long": "--no-escape"
                    },
                    {
                        "name": "--escape",
                        "lines": 2,
                        "long": "--escape"
                    },
                    {
                        "name": "--force-po",
                        "lines": 2,
                        "long": "--force-po"
                    },
                    {
                        "name": "--indent",
                        "lines": 2,
                        "long": "--indent"
                    },
                    {
                        "name": "--no-location",
                        "lines": 2,
                        "long": "--no-location"
                    },
                    {
                        "name": "-n --add-location",
                        "lines": 2,
                        "flag": "-n",
                        "long": "--add-location"
                    },
                    {
                        "name": "--strict",
                        "lines": 2,
                        "long": "--strict"
                    },
                    {
                        "name": "-p --properties-output",
                        "lines": 2,
                        "flag": "-p",
                        "long": "--properties-output"
                    },
                    {
                        "name": "--stringtable-output",
                        "lines": 2,
                        "long": "--stringtable-output"
                    },
                    {
                        "name": "-w --width",
                        "lines": 2,
                        "flag": "-w",
                        "long": "--width"
                    },
                    {
                        "name": "--no-wrap",
                        "lines": 2,
                        "long": "--no-wrap"
                    },
                    {
                        "name": "--sort-output",
                        "lines": 2,
                        "long": "--sort-output"
                    },
                    {
                        "name": "--sort-by-file",
                        "lines": 2,
                        "long": "--sort-by-file"
                    },
                    {
                        "name": "Informative output:",
                        "lines": 1
                    },
                    {
                        "name": "-h --help",
                        "lines": 2,
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "-V --version",
                        "lines": 2,
                        "flag": "-V",
                        "long": "--version"
                    }
                ]
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "REPORTING BUGS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "COPYRIGHT",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 10,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "msggrep - pattern matching on message catalog\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "msggrep [OPTION] [INPUTFILE]\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Extracts  all  messages of a translation catalog that match a given pattern or belong to some\ngiven source files.\n\nMandatory arguments to long options are mandatory for short options too.\n",
                "subsections": [
                    {
                        "name": "Input file location:",
                        "content": "INPUTFILE\ninput PO file\n"
                    },
                    {
                        "name": "-D --directory",
                        "content": "add DIRECTORY to list for input files search\n\nIf no input file is given or if it is -, standard input is read.\n",
                        "flag": "-D",
                        "long": "--directory"
                    },
                    {
                        "name": "Output file location:",
                        "content": ""
                    },
                    {
                        "name": "-o --output-file",
                        "content": "write output to specified file\n\nThe results are written to standard output if no output file is specified or if it is -.\n",
                        "flag": "-o",
                        "long": "--output-file"
                    },
                    {
                        "name": "Message selection:",
                        "content": "[-N SOURCEFILE]... [-M DOMAINNAME]...  [-J MSGCTXT-PATTERN] [-K MSGID-PATTERN] [-T MS‐\nGSTR-PATTERN] [-C COMMENT-PATTERN] [-X EXTRACTED-COMMENT-PATTERN]\n\nA message is selected if it comes from one of the specified source files, or if it comes from\none of the specified domains, or if -J is given  and  its  context  (msgctxt)  matches  MSGC‐\nTXT-PATTERN,  or if -K is given and its key (msgid or msgidplural) matches MSGID-PATTERN, or\nif -T is given and its translation (msgstr) matches MSGSTR-PATTERN, or if -C is given and the\ntranslator's  comment  matches  COMMENT-PATTERN,  or if -X is given and the extracted comment\nmatches EXTRACTED-COMMENT-PATTERN.\n\nWhen more than one selection criterion is specified, the set  of  selected  messages  is  the\nunion of the selected messages of each criterion.\n\nMSGCTXT-PATTERN  or  MSGID-PATTERN  or  MSGSTR-PATTERN  or  COMMENT-PATTERN or EXTRACTED-COM‐\nMENT-PATTERN syntax:\n\n[-E | -F] [-e PATTERN | -f FILE]...\n\nPATTERNs are basic regular expressions by default, or extended regular expressions if  -E  is\ngiven, or fixed strings if -F is given.\n"
                    },
                    {
                        "name": "-N --location",
                        "content": "select messages extracted from SOURCEFILE\n",
                        "flag": "-N",
                        "long": "--location"
                    },
                    {
                        "name": "-M --domain",
                        "content": "select messages belonging to domain DOMAINNAME\n",
                        "flag": "-M",
                        "long": "--domain"
                    },
                    {
                        "name": "-J --msgctxt",
                        "content": "start of patterns for the msgctxt\n",
                        "flag": "-J",
                        "long": "--msgctxt"
                    },
                    {
                        "name": "-K --msgid",
                        "content": "start of patterns for the msgid\n",
                        "flag": "-K",
                        "long": "--msgid"
                    },
                    {
                        "name": "-T --msgstr",
                        "content": "start of patterns for the msgstr\n",
                        "flag": "-T",
                        "long": "--msgstr"
                    },
                    {
                        "name": "-C --comment",
                        "content": "start of patterns for the translator's comment\n",
                        "flag": "-C",
                        "long": "--comment"
                    },
                    {
                        "name": "-X --extracted-comment",
                        "content": "start of patterns for the extracted comment\n",
                        "flag": "-X",
                        "long": "--extracted-comment"
                    },
                    {
                        "name": "-E --extended-regexp",
                        "content": "PATTERN is an extended regular expression\n",
                        "flag": "-E",
                        "long": "--extended-regexp"
                    },
                    {
                        "name": "-F --fixed-strings",
                        "content": "PATTERN is a set of newline-separated strings\n",
                        "flag": "-F",
                        "long": "--fixed-strings"
                    },
                    {
                        "name": "-e --regexp",
                        "content": "use PATTERN as a regular expression\n",
                        "flag": "-e",
                        "long": "--regexp"
                    },
                    {
                        "name": "-f --file",
                        "content": "obtain PATTERN from FILE\n",
                        "flag": "-f",
                        "long": "--file"
                    },
                    {
                        "name": "-i --ignore-case",
                        "content": "ignore case distinctions\n",
                        "flag": "-i",
                        "long": "--ignore-case"
                    },
                    {
                        "name": "-v --invert-match",
                        "content": "output only the messages that do not match any selection criterion\n",
                        "flag": "-v",
                        "long": "--invert-match"
                    },
                    {
                        "name": "Input file syntax:",
                        "content": ""
                    },
                    {
                        "name": "-P --properties-input",
                        "content": "input file is in Java .properties syntax\n",
                        "flag": "-P",
                        "long": "--properties-input"
                    },
                    {
                        "name": "--stringtable-input",
                        "content": "input file is in NeXTstep/GNUstep .strings syntax\n",
                        "long": "--stringtable-input"
                    },
                    {
                        "name": "Output details:",
                        "content": ""
                    },
                    {
                        "name": "--color",
                        "content": "use colors and other text attributes always\n\n--color=WHEN\nuse  colors and other text attributes if WHEN.  WHEN may be 'always', 'never', 'auto',\nor 'html'.\n\n--style=STYLEFILE\nspecify CSS style rule file for --color\n",
                        "long": "--color"
                    },
                    {
                        "name": "--no-escape",
                        "content": "do not use C escapes in output (default)\n",
                        "long": "--no-escape"
                    },
                    {
                        "name": "--escape",
                        "content": "use C escapes in output, no extended chars\n",
                        "long": "--escape"
                    },
                    {
                        "name": "--force-po",
                        "content": "write PO file even if empty\n",
                        "long": "--force-po"
                    },
                    {
                        "name": "--indent",
                        "content": "indented output style\n",
                        "long": "--indent"
                    },
                    {
                        "name": "--no-location",
                        "content": "suppress '#: filename:line' lines\n",
                        "long": "--no-location"
                    },
                    {
                        "name": "-n --add-location",
                        "content": "preserve '#: filename:line' lines (default)\n",
                        "flag": "-n",
                        "long": "--add-location"
                    },
                    {
                        "name": "--strict",
                        "content": "strict Uniforum output style\n",
                        "long": "--strict"
                    },
                    {
                        "name": "-p --properties-output",
                        "content": "write out a Java .properties file\n",
                        "flag": "-p",
                        "long": "--properties-output"
                    },
                    {
                        "name": "--stringtable-output",
                        "content": "write out a NeXTstep/GNUstep .strings file\n",
                        "long": "--stringtable-output"
                    },
                    {
                        "name": "-w --width",
                        "content": "set output page width\n",
                        "flag": "-w",
                        "long": "--width"
                    },
                    {
                        "name": "--no-wrap",
                        "content": "do not break long message lines, longer than the output page width, into several lines\n",
                        "long": "--no-wrap"
                    },
                    {
                        "name": "--sort-output",
                        "content": "generate sorted output\n",
                        "long": "--sort-output"
                    },
                    {
                        "name": "--sort-by-file",
                        "content": "sort output by file location\n",
                        "long": "--sort-by-file"
                    },
                    {
                        "name": "Informative output:",
                        "content": ""
                    },
                    {
                        "name": "-h --help",
                        "content": "display this help and exit\n",
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "-V --version",
                        "content": "output version information and exit\n",
                        "flag": "-V",
                        "long": "--version"
                    }
                ]
            },
            "AUTHOR": {
                "content": "Written by Bruno Haible.\n",
                "subsections": []
            },
            "REPORTING BUGS": {
                "content": "Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email  to\n<bug-gettext@gnu.org>.\n",
                "subsections": []
            },
            "COPYRIGHT": {
                "content": "Copyright  ©  2001-2020  Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or\nlater <https://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.  There is NO WARRANTY,  to\nthe extent permitted by law.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "The  full  documentation for msggrep is maintained as a Texinfo manual.  If the info and msg‐‐\ngrep programs are properly installed at your site, the command\n\ninfo msggrep\n\nshould give you access to the complete manual.\n\n\n\nGNU gettext-tools 0.21                       March 2022                                   MSGGREP(1)",
                "subsections": []
            }
        }
    }
}