mar man page on DragonFly

Printed from http://www.polarhome.com/service/man/?qf=mar&af=0&tf=2&of=DragonFly

MAR(1)				 User Commands				MAR(1)

NAME
       mar - utility for manipulating mar files

SYNOPSIS
       mar option... archive

DESCRIPTION
       The  mar	 utility uses the mar library to provide a convenient tool for
       manipulating mar files from the command prompt.

OPTIONS
       -f

	      Do not prompt for confirmation when using one of	the  following
	      delete-like operations; -r, -u or -z.

       -h

	      Display a brief help summary and then exit.

       -i filename

	      Insert  the  contents of the file specified by filename into the
	      user data section of the archive. If the filename	 specified  is
	      "-" then stdin will be used as the input stream.

       -k

	      List  the key for each meta item contained within the archive to
	      stdout. Each of the resulting keys will be followed  by  a  new‐
	      line.

       -l

	      Print the total length (in bytes) of the user data stored within
	      the archive to stdout.

       -m key

	      Given the key for a meta item, print the associated meta data to
	      stdout.

       -r

	      Remove  (delete)	all  meta  items (including keys) from the ar‐
	      chive. Use the -f option to suppress the confirmation prompt.

       -s source

	      Meta items are set by specifying one  of	more  key/data	pairs.
	      Each  key/data pair should be specified in the format; key=data,
	      where the key and data part of the pair are delimited using  the
	      "="  character.  Any whitespace characters occurring either side
	      of the delimiter are  significant	 and  will  not	 therefore  be
	      stripped when the pair is split. The source can either be a sin‐
	      gle key/data pair specified on the command line or  a  filename.
	      If a filename is specified then key/data pairs will be read (one
	      pair per line) from the file specified by filename. If the file‐
	      name  specified  is  "-"	then  stdin  will be used as the input
	      stream.

       -t

	      List each meta item contained within the archive to stdout. Each
	      meta  item  is  displayed	 as  a	key/data  pair	in the format;
	      key=data, where the key and data part of the pair are  delimited
	      using  the "=" character. Each key/data pair will be followed by
	      a newline.

       -u key

	      Unset (delete) the meta item specified by key from the  archive.
	      Use the -f option to suppress the confirmation prompt.

       -x filename

	      Extract  (a  copy of) the contents of the user data section from
	      the archive into the file specified by filename. If the filename
	      specified is "-" then stdout will be used as the output stream.

       -z

	      Zero truncate (delete) the entire contents of the user data sec‐
	      tion from the archive. Use the -f option to suppress the confir‐
	      mation prompt.

OVERVIEW
       A  meta	archive	 or mar file uses a simple binary file format to store
       both meta and user data together in a single file. User	data  in  this
       context is akin to the type of data traditionally stored by a user in a
       regular file. Text or image information would be	 typical  examples  of
       user  data. Meta data is that information relating to, but not an inte‐
       gral part of, the user data. The location at which an image (user data)
       was  captured would be an example of an item of meta data. Depending on
       the type of file system, most regular files already contain some built-
       in  meta	 data  such as the file modification time (often maintained by
       the system). The main difference between the meta data found in	a  mar
       file  and  that	of a regular file is that the mar file allows an arbi‐
       trary set of meta data to be defined by a user or application of	 which
       the underlying file system has no knowledge.

       A mar file may be suitable in situations where a full-scale database is
       not. Taking the example of an e-mail message, if an item of  meta  data
       such as the "read/unread" message status is stored in an auxiliary file
       (away from the actual message to which it relates), then	 the  task  of
       ensuring the integrity of both files may quickly lead to a more complex
       system than had	been  originally  intended.  Using  a  mar  file,  the
       "read/unread"  message  status  (the  meta data) would be stored in the
       same file as the actual message	content	 (the  user  data),  therefore
       offering	 the  possibility  of using a simple swap-file idiom to ensure
       data integrity.

EXAMPLES
       Insert the contents of "input.txt" into the user data  section  of  the
       archive and then print the number of bytes stored to stdout:

	   mar -i input.txt -l archive.mar

       Extract (a copy of) the contents of the user data section to stdout and
       then zero truncate the contents without prompting for confirmation:

	   mar -x - -f -z archive.mar

       Set two meta items (with keys "familyname" and  "givenname")  and  then
       list all meta data pairs to stdout:

	   mar -s familyname=Aylett -s givenname=Mark -t archive.mar

       Unset  the meta item (with key "familyname") without prompting for con‐
       firmation and then list all remaining keys names within the archive  to
       stdout:

	   mar -f -u familyname -k archive.mar

       Print  the  meta data (for the item with key "givenname") to stdout and
       then remove (delete) all meta items without prompting for confirmation:

	   mar -m givenname -f -r archive.mar

AUTHOR
       Written by Mark Aylett.

REPORTING BUGS
       Report bugs to <mark@emantic.co.uk>.

mar 0.5				 December 2004				MAR(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net