{
    "mode": "man",
    "parameter": "icupkg",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/icupkg/8/json",
    "generated": "2026-10-07T21:07:11Z",
    "synopsis": "icupkg [ -h, -?, --help ] [ -tl, --type l | -tb, --type b | -te, --type e ] [ -c, --copyright\n|  -C,  --comment comment ] [ -a, --add list ] [ -r, --remove list ] [ -x, --extract list ] [",
    "sections": {
        "NAME": {
            "content": "icupkg - extract or modify an ICU .dat archive\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "icupkg [ -h, -?, --help ] [ -tl, --type l | -tb, --type b | -te, --type e ] [ -c, --copyright\n|  -C,  --comment comment ] [ -a, --add list ] [ -r, --remove list ] [ -x, --extract list ] [",
            "subsections": [
                {
                    "name": "-l --list  -s --sourcedir _ -d --destdir _ -w --writepkg",
                    "content": "",
                    "flag": "-w",
                    "long": "--writepkg"
                },
                {
                    "name": "-m --matchmode _",
                    "content": "",
                    "flag": "-m",
                    "long": "--matchmode"
                }
            ]
        },
        "DESCRIPTION": {
            "content": "icupkg  reads the input ICU .dat package file, modify it according to the options, swap it to\nthe desired platform properties (charset & endianness), and optionally  write  the  resulting\nICU  .dat  package  to  the  output  file.  Items are removed, then added, then extracted and\nlisted.  An ICU .dat package is written if items are removed or added, or if  the  input  and\noutput filenames differ, or if the -w, --writepkg option is set.\n\nIf  the  input filename is \"new\" then an empty package is created.  If the output filename is\nmissing, then it is automatically generated from the input filename. If  the  input  filename\nends  with an l, b, or e matching its platform properties, then the output filename will con‐\ntain the letter from the -t, --type option.\n\nThis tool can also be used to just swap a single ICU data file, replacing the former  icuswap\ntool.  For this mode, provide the infilename (and optional outfilename) for a non-package ICU\ndata file.  Allowed options include -t, -w, -s and -d The filenames can be absolute, or rela‐\ntive to the source/dest dir paths.  Other options are not allowed in this mode.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-h -? --help",
                    "content": "Print help about usage and exit.\n",
                    "flag": "-?",
                    "long": "--help"
                },
                {
                    "name": "-tl --type _",
                    "content": "Output for little-endian/ASCII charset family.  The output type defaults to the  input\ntype.\n",
                    "long": "--type"
                },
                {
                    "name": "-tb --type _",
                    "content": "Output  for  big-endian/ASCII  charset  family.  The output type defaults to the input\ntype.\n",
                    "long": "--type"
                },
                {
                    "name": "-te --type _",
                    "content": "Output for big-endian/EBCDIC charset family.  The output type defaults  to  the  input\ntype.\n",
                    "long": "--type"
                },
                {
                    "name": "-c --copyright",
                    "content": "Include the ICU copyright notice in the resulting data.\n",
                    "flag": "-c",
                    "long": "--copyright"
                },
                {
                    "name": "-C --comment _",
                    "content": "Include  the  specified comment in the resulting data instead of the ICU copyright no‐\ntice.\n",
                    "flag": "-C",
                    "long": "--comment"
                },
                {
                    "name": "-a --add _",
                    "content": "Add items from the list to the package. The list can be a single filename with a  .txt\nfile extension containing a list of item filenames, or an ICU .dat package filename.\n",
                    "flag": "-a",
                    "long": "--add"
                },
                {
                    "name": "-r --remove _",
                    "content": "Remove  items from the list from the package. The list can be a single filename with a\n.txt file extension containing a list of item filenames, or an ICU .dat package  file‐\nname.\n",
                    "flag": "-r",
                    "long": "--remove"
                },
                {
                    "name": "-x --extract _",
                    "content": "Extract items from the list from the package. The list can be a single filename with a\n.txt  file extension containing a list of item filenames, or an ICU .dat package file‐\nname.\n",
                    "flag": "-x",
                    "long": "--extract"
                },
                {
                    "name": "-m --matchmode _",
                    "content": "Set the matching mode for item names with wildcards.\n",
                    "flag": "-m",
                    "long": "--matchmode"
                },
                {
                    "name": "-s --sourcedir _",
                    "content": "Set the source directory to source.  The default source directory is the  current  di‐\nrectory.\n",
                    "flag": "-s",
                    "long": "--sourcedir"
                },
                {
                    "name": "-d --destdir _",
                    "content": "Set  the  destination  directory to destination.  The default destination directory is\nthe current directory.\n",
                    "flag": "-d",
                    "long": "--destdir"
                },
                {
                    "name": "-l --list",
                    "content": "List the package items to stdout (after modifying the package).\n",
                    "flag": "-l",
                    "long": "--list"
                }
            ]
        },
        "LIST FILE SYNTAX": {
            "content": "Items are listed on one or more lines and separated by whitespace (space+tab).  Comments  be‐\ngin  with  #  and  are ignored. Empty lines are ignored. Lines where the first non-whitespace\ncharacter is one of \"%&'()*+,-./:;<=>? are also ignored to reserve for future syntax.\n\nItems for removal or extraction may contain a single * wildcard character. The * matches zero\nor more characters. If -m, --matchmode noslash is set, then the * character  does  not  match\nthe / character.\n\nItems  must be listed relative to the package, and the --sourcedir or the --destdir path will\nbe prepended. The paths are only prepended to  item  filenames  while  adding  or  extracting\nitems, not to ICU .dat package or list filenames.\n\nPaths  may  contain / instead of the platform's file separator character and are converted as\nappropriate.\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "Markus Scherer\nGeorge Rhoten\n",
            "subsections": []
        },
        "VERSION": {
            "content": "1.0\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright (C) 2006 IBM, Inc. and others.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "pkgdata(1) genrb(1)\n\n\nICU MANPAGE                                18 August 2006                                  ICUPKG(8)",
            "subsections": []
        }
    },
    "summary": "icupkg - extract or modify an ICU .dat archive",
    "flags": [
        {
            "flag": "-?",
            "long": "--help",
            "arg": null,
            "description": "Print help about usage and exit."
        },
        {
            "flag": "",
            "long": "--type",
            "arg": null,
            "description": "Output for little-endian/ASCII charset family. The output type defaults to the input type."
        },
        {
            "flag": "",
            "long": "--type",
            "arg": null,
            "description": "Output for big-endian/ASCII charset family. The output type defaults to the input type."
        },
        {
            "flag": "",
            "long": "--type",
            "arg": null,
            "description": "Output for big-endian/EBCDIC charset family. The output type defaults to the input type."
        },
        {
            "flag": "-c",
            "long": "--copyright",
            "arg": null,
            "description": "Include the ICU copyright notice in the resulting data."
        },
        {
            "flag": "-C",
            "long": "--comment",
            "arg": null,
            "description": "Include the specified comment in the resulting data instead of the ICU copyright no‐ tice."
        },
        {
            "flag": "-a",
            "long": "--add",
            "arg": null,
            "description": "Add items from the list to the package. The list can be a single filename with a .txt file extension containing a list of item filenames, or an ICU .dat package filename."
        },
        {
            "flag": "-r",
            "long": "--remove",
            "arg": null,
            "description": "Remove items from the list from the package. The list can be a single filename with a .txt file extension containing a list of item filenames, or an ICU .dat package file‐ name."
        },
        {
            "flag": "-x",
            "long": "--extract",
            "arg": null,
            "description": "Extract items from the list from the package. The list can be a single filename with a .txt file extension containing a list of item filenames, or an ICU .dat package file‐ name."
        },
        {
            "flag": "-m",
            "long": "--matchmode",
            "arg": null,
            "description": "Set the matching mode for item names with wildcards."
        },
        {
            "flag": "-s",
            "long": "--sourcedir",
            "arg": null,
            "description": "Set the source directory to source. The default source directory is the current di‐ rectory."
        },
        {
            "flag": "-d",
            "long": "--destdir",
            "arg": null,
            "description": "Set the destination directory to destination. The default destination directory is the current directory."
        },
        {
            "flag": "-l",
            "long": "--list",
            "arg": null,
            "description": "List the package items to stdout (after modifying the package)."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "pkgdata",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pkgdata/1/json"
        },
        {
            "name": "genrb",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/genrb/1/json"
        }
    ]
}