# icupkg

## NAME



           **icupkg** - extract or modify an ICU **.dat** archive
    


## SYNOPSIS



           **icupkg**[ **-h** , **-?** , **--help**] [ **-tl** , **--type** l | **-tb** , **--type** b | **-te** ,
           **--type** e ] [ **-c** , **--copyright** | **-C** , **--comment** _comment_ ] [ **-a** , **--add**
           _list_ ] [ **-r** , **--remove** _list_ ] [ **-x** , **--extract** _list_ ] [ **-l** , **--list**]
           [ **-s** , **--sourcedir** _source_ ] [ **-d** , **--destdir** _destination_ ] [ **-w** ,
           **--writepkg**] [ **-m** , **--matchmode** _mode_ ] _infilename_ [ **outfilename**]
    


## DESCRIPTION



           **icupkg** reads the input ICU **.dat** package file, modify it according
           to the options, swap it to the desired platform properties
           (charset & endianness), and optionally write the resulting ICU
           **.dat** package to the output file.  Items are removed, then added,
           then extracted and listed.  An ICU **.dat** package is written if
           items are removed or added, or if the input and output filenames
           differ, or if the **-w** , **--writepkg** option is set.
    
           If the input filename is "new" then an empty package is created.
           If the output filename is missing, then it is automatically
           generated from the input filename. If the input filename ends with
           an l, b, or e matching its platform properties, then the output
           filename will contain the letter from the **-t** , **--type** option.
    
           This tool can also be used to just swap a single ICU data file,
           replacing the former icuswap tool. For this mode, provide the
           infilename (and optional outfilename) for a non-package ICU data
           file.  Allowed options include **-t** , **-w** , **-s** and **-d** The filenames can
           be absolute, or relative to the source/dest dir paths.  Other
           options are not allowed in this mode.
    


## OPTIONS



           **-h** , **-?** , **--help**
                  Print help about usage and exit.
    
           **-tl** , **--type** _l_
                  Output for little-endian/ASCII charset family.  The output
                  type defaults to the input type.
    
           **-tb** , **--type** _b_
                  Output for big-endian/ASCII charset family.  The output
                  type defaults to the input type.
    
           **-te** , **--type** _e_
                  Output for big-endian/EBCDIC charset family.  The output
                  type defaults to the input type.
    
           **-c** ,**--copyright**
                  Include the ICU copyright notice in the resulting data.
    
           **-C** , **--comment** _comment_
                  Include the specified _comment_ in the resulting data instead
                  of the ICU copyright notice.
    
           **-a** , **--add** _list_
                  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.
    
           **-r** , **--remove** _list_
                  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 filename.
    
           **-x** , **--extract** _list_
                  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 filename.
    
           **-m** , **--matchmode** _mode_
                  Set the matching mode for item names with wildcards.
    
           **-s** , **--sourcedir** _source_
                  Set the source directory to _source_.  The default source
                  directory is the current directory.
    
           **-d** , **--destdir** _destination_
                  Set the destination directory to _destination_.  The default
                  destination directory is the current directory.
    
           **-l** , **--list**
                  List the package items to stdout (after modifying the
                  package).
    


## LIST FILE SYNTAX



           Items are listed on one or more lines and separated by whitespace
           (space+tab).  Comments begin with **#** and are ignored. Empty lines
           are ignored. Lines where the first non-whitespace character is one
           of "%&'()*+,-./:;<=>?_ are also ignored to reserve for future
           syntax.
    
           Items for removal or extraction may contain a single ***** wildcard
           character. The ***** matches zero or more characters. If **-m** ,
           **--matchmode** _noslash_ is set, then the ***** character does not match
           the **/** character.
    
           Items must be listed relative to the package, and the **--sourcedir**
           or the **--destdir** path will be prepended. The paths are only
           prepended to item filenames while adding or extracting items, not
           to ICU .dat package or list filenames.
    
           Paths may contain **/** instead of the platform's file separator
           character and are converted as appropriate.
    


## VERSION



           1.0
    


* * *