mar -- message catalogue archive and library maintainer


mar key [ option ] afile names ...


mar maintains groups of message catalogue files created by gencat(CP) combined into a single archive file. Its main use is to create and update library files as used throughout the message catalogue system. Any leading path will be stripped when referencing files that are already part of the archive, hence

mar d msgarchive /usr/local/msgfile1

is equivalent to

mar d msgarchive msgfile1

and will delete the file named msgfile1 from the archive named msgarchive.

key is one character from the set drtpx, optionally concatenated with v. afile is the archive file. The names are constituent files in the archive file. The meanings of the key characters are:

Delete the named file(s) from the archive file. If no names are given, all files in the archive will be deleted.

Replace the named files in the archive file or append them to the archive file, if they are not already part of the archive. The archive file will be created if it does not already exist.

Print a table of contents of the archive file. If no names are given, all files in the archive are printed. If names are given, only those files named will be printed.

Print the named files to standard output. If no names are given, all files will be printed. When piped to dumpmsg(CP) as

mar p msgarchive msgfile1 | dumpmsg - -

a listing of all the messages in the archive will be printed on standard output.

Extract the named files. If no names are given, all files in the archive will be extracted. Neither the x option nor the p option will alter the archive file.

Verbose. Under the verbose option, dxtr give a file-by-file description of the making of a new archive file from the old archive and the constituent files. When used with t, it gives a long listing of all information about the files, including the name of the file, its last update, its size and the name of the message catalogue as referenced by catopen(S) and catgets(S). The size of the file is identical to the size as reported by ls(C).

Environment variables

LC_COLLATE affects the order in which the output is sorted for the -t option; and LC_TIME affects the contents of date and time strings output by the -t and -v options. LANG provides the necessary defaults if any of these variables are not defined in the environment. If {LANG} is not defined, output is sorted in machine collation order, date and time strings default to system specific formats.

Application usage

If the same file is mentioned twice in an argument list, it may be put in the archive twice.

mar will be rather slow on big archives even when only deleting a single file.


This version of mar uses a binary format archive which is not portable among the various machines running UNIX. Just as C programs have to be recompiled for each type of machine, message catalogue archives have to be recreated by mar as well.

See also

ar(CP), catopen(S), dumpmsg(CP), gencat(CP)
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005