Provided by: ncl-ncarg_6.6.2.dfsg.1-10build2_amd64 bug

NAME

       med - NCAR CGM metafile frame editor

SYNOPSIS

       med [ -e command ]* [ -f sfilename ] [ -l local_dir ] [ -V ] [ filename]

DESCRIPTION

       med  is  a  frame-level, metafile editor designed to resemble syntactically UNIX's sed(1) and ed(1).  med
       operates on a copy of filename, called  a  buffer,  and overwrites a file  only  when  you  issue  the  w
       (write)  command.   med  provides  line  oriented  editing  commands to display or delete frames from the
       buffer, to move, copy or merge frames within the buffer, or to write frames from and read frames into the
       buffer. By default med reads in commands from standard input.

OPTIONS

       -e command
              command is a single med command. The valid med commands are  discussed  in  the  Commands  section
              below.   Multiple -e options may appear on a single command line. Be careful to use quotes if your
              command contains spaces or metacharacters that might be interpreted by the shell. When this option
              is used med does not enter interactive mode. It simply performs the given commands and then exits.

       -f sfilename
              Execute the med line-separated list of commands in the file sfilename.   After  the  commands  are
              exhausted med will exit.

       -l local_dir
              Use  local_dir  as  the  tmp directory for scratch disk space. If this option is not specified med
              will use the value of the $NCARG_TMP or the $TMPDIR environment variable.  See  ncargintro(1ncarg)
              for a discussion on NCAR Graphics environment variables.

       -V     Print the version number and then exit.

USAGE

   Command Structure
       med  commands  attempt  to  have  a  syntactically  identical form to those of ed(1) or sed(1).  Commands
       consist of an optional address or two optional, comma separated, addresses, followed by a command,  which
       may be abbreviated, possibly followed by a third address or a command specific argument list :

              [ address [, address ] ] command [ address | args ]

       If  only  one  address  is  specified,  operations  are  performed  on  that frame.  If two addresses are
       specified, med performs the operation on the inclusive range of frames.  If no address is specified  then
       the  current  frame  is  used  as  a  default. The exception to this are the w (write) and the a (append)
       commands. The default address for w is the entire buffer.

       For example, 1,10p means “print (display) frame 1 through  10”  (two  addresses),  d  means  “delete  the
       current  frame” (no address implies the current frame used as default), and 1,5c5 means “append a copy of
       frames 1 through 5 at frame 5” (three addresses).  The meaning of argument varies for each operation.  In
       med's  current  state  the  only  valid argument is a filename — for the write, w , command for instance,
       argument is the name of the file to write to.

       Unlike its friends ed(1) and sed(1) med attempts to be fairly user friendly. If an invalid  or  ambiguous
       command  is  given  med  will tell you so. If med thinks it recognizes a command with invalid arguments a
       usage statement for the offending command is given. If a particular command fails and med is smart enough
       to figure out why it will tell you.  med will almost ALWAYS immediately terminate when  an  error  occurs
       while  processing  commands  from  a  file or the command line. Help is available by using the h command.
       Usage statements for a particular command may be obtained with: h command name .

   Addresses
       Frames can be addressed in several ways:

       nnn    By frame number.  Frames in the buffer are numbered relative to the  start  of  the  buffer.   The
              first frame is frame 1.

       $      The last frame of the buffer.

       .      The  current  frame.  med keeps track of the frame on which you last performed an operation.  This
              frame is called the current frame.  You can address this frame by typing a “dot” character.

       ±n     By relative frame number.  Address the frame number that is n frames higher,  or  n  frames  lower
              than the current frame.

       address±n
              An  address  followed  by  a  plus  sign  (+)  or  a minus sign (-), followed by a decimal number,
              specifies that address plus or minus the indicated number of frames.  If the address  is  omitted,
              the current frame is used as the base.  For example, `31-3' addresses frame 28 in the buffer.

       If you do not specify an address for a command to operate on, a command that requires an address supplies
       one by default, usually the current frame.

       A pair of addresses separated by a comma signifies an inclusive range of frames, and the current frame is
       not changed unless the command changes it.

   Commands
       Only  one  command  may  appear  per  line.   Commands may accept zero, one or two addresses, followed by
       possibly a third address or an argument. Commands that accept up to two addresses regard a  third  as  an
       error.  Likewise,  commands  that  do  not  accept  an  argument  regard one as an error. Commands may be
       abbreviated.

       In the absence of a second address for a two or three address command the command will regard the  second
       address  as  the  same  as  the  first.  For  example, 2d is equivalent to 2,2d .  The absence of a first
       address, where required, will result in the current frame being used as the default. The same is true  in
       the absence of a required third address. For example, c is equivalent to .,.c..

       The commands q (quit) and e (edit) may be followed by a '!' to override med's user protection.

       In  the  following  list  of  med  commands,  the  default addresses/arguments appear in parentheses; the
       parenthesized addresses are not part of the command. Unless otherwise noted a command does not change the
       current frame number.

       (1,$)append metafile
              Append buffer to a file. Append the addressed frames in the buffer to metafile.  If no address  is
              specified the entire buffer is written. If the file does not exist create it.
       (.,.) copy (.)
              Copy frames. Duplicate the addressed frames in the buffer and append them after the third address.
              The current frame becomes the destination of the last frame copied.
       (.,.)delete
              Delete  the  addressed lines from the buffer.  delete accepts one or two addresses; the default is
              the current frame.  The current frame is set to the first frame after the deleted frame(s).
       edit metafile
              Edit a metafile.  The current contents of the buffer, if any, are erased. The  named  metafile  is
              read  in  to  the  buffer. The resulting current frame is the last frame in the buffer. If changes
              have been made to the buffer since the last write med will refuse the request unless  the  command
              is  appended  with  a  '!'.   edit  prints the number of frames in the metafile. If no metafile is
              given, the current metafile, if any is used.  The current frame becomes  the  last  frame  in  the
              file.
       help command
              help. Give a usage message for command .  If no command is given, print list of command names with
              a short description of each.
       (.,.)label string
              Label the addressed frames with string .  The CGM Begin Picture element contained in each metafile
              frame allows for the encoding of character data.  label provides a means for accessing this data.
       (.,.)merge
              Merge  the  contents  of the second addressed frame on top of the first addressed frame. The first
              addressed frame is thus changed. The second frame remains the same. The current frame  is  set  to
              the first addressed frame.
       (.,.) move (.)
              Move the addressed frames to the first frame following the third address.
       (.,.)print
              Show  the  contents  of the buffer at the given address. What is actually displayed is information
              regarding the addressed frames. This  information  includes:  relative  frame  number  within  the
              buffer,  the  number  of records contained in the frame, the starting record for the frame and the
              contents of the CGM element BEGIN PICTURE .  If no address is specified the current frame does not
              change. Otherwise it becomes the last frame printed.
       quit
              Quit. Terminate the editing session without saving the buffer  contents.  In  order  to  save  the
              buffer an explicit write must be performed. If changes to the buffer have been made since the last
              write med will refuse to terminate unless quit is appended with a '!'.
       (.)read metafile
              Read  in  a  metafile.  Read  the  contents of metafile into the buffer and append it at the given
              address.  metafile must be a valid NCAR CGM. The resulting current frame is the  last  frame  read
              in.
       (1,$)split<number> outfile
              Split  the  current  metafile  into  number  files.  The  split  command attempts to create number
              metafiles from the addressed frames, each containing approximately n / number frames where 'n'  is
              the  total number of addressed frames. The first file is named outfile001.ncgm, the second file is
              named outfile002.ncgm, and so on lexicographically. If no outfile is given, med  is  used  as  the
              default (output files will be called med001.ncgm, med002.ncgm, etc.).
       (1,$)write metafile
              Write  buffer.  Write  the addressed frames in the buffer to metafile.  If no address is specified
              the entire buffer is written. If the file does not exist create it. If no file name  is  specified
              med  uses  the  last currently remembered file name, if any. The currently remembered file name is
              the file name from the most recent edit command, or the file name med was invoked with if no  edit
              commands have been issued.
       ! command
              Escape to the shell and execute command.  command is a valid UNIX command.

ENVIRONMENT

       NCARG_TMP
              If  set,  this  environment  variable contains a directory path to be used for temporary files. On
              most systems the default is /tmp.

FILES

       /tmp/cgm_tools.#    temporary; # is the process id.

EXAMPLES

       To concatenate the files ncgm1, ncgm2, and ncgm3 into a single file ncgm123 one might use the following:

              % med -e 'r ncgm1' -e 'r ncgm2' -e 'r ncgm3' -e 'w ncgm123'

       Or one could pass  the  following  script  to  med  as  a  -fscriptfile  option  or  enter  the  commands
       interactively.

              r ncgm1
              r ncgm2
              r ncgm3
              w ncgm123

       To Overlay the contents of frame 5 on top of frame 4 from a file ncgm1 one could execute:
              % med -e '4,5 me' -e 'w!' ncgm1

SEE ALSO

       cgm(5NCARG), ed(1), sed(1V)

       Hardcopy: NCAR Graphics Fundamentals, UNIX Version

BUGS

       med
        does not understand filenames that begin with a digit or a period.

CAVEATS

       The  append,  read  and  merge commands may produce surprising results. A CGM may contain a set of global
       graphical primitive attributes that are applied to every frame in a file.  Thus reading frames in from  a
       file  with  different global attributes than the current working file may not produce the desired effect.
       The same is true when appending frames to a  previously  existing  file.   Similarly,  the  CGM  standard
       specifies  that  graphical attributes specified within a metafile frame affect all succeeding primitives.
       Thus a frame which is the product of the merge command may appear differently than expected.

COPYRIGHT

       Copyright (C) 1987-2009
       University Corporation for Atmospheric Research

       The use of this Software is governed by a License Agreement.

NCARG                                             January 1993                                       MED(1NCARG)