prune(1)                   OpenBSD Reference Manual                   prune(1)



NAME
       prune - Prune directed graphs

SYNOPSIS
       prune [ -n node ] [ -N attrspec ] [ files ...  ]

DESCRIPTION
       prune reads directed graphs in the same format used by dot(1) and
       removes subgraphs rooted at nodes specified on the command line via
       options. These nodes themselves will not be removed, but can be given
       attributes so that they can be easily located by a graph stream editor
       such as gpr(1).  prune correctly handles cycles, loops and multi-edges.

       Both options can appear multiple times on the command line. All
       subgraphs rooted at the respective nodes given will then be processed.
       If a node does not exist, prune will skip it and print a warning
       message to stderr.  If multiple attributes are given, they will be
       applied to all nodes that have been processed.  prune writes the result
       to the stdout.

OPTIONS
       -n name
              Specifies name of node to prune.

       -N attrspec
              Specifies attribute that will be set (or changed if it exists)
              for any pruned node.  attrspec is a string of the form
              attr=value.


EXAMPLES
       An input graph test.dot of the form

            digraph DG {
              A -> B;
              A -> C;

              B -> D;
              B -> E;
            }

       , processed by the command

            prune -n B test.dot

       would produce the following output (the actual code might be formatted
       in a slightly different way).

            digraph DG {
              A -> B;
              A -> C;
            }

       Another input graph test.dot of the form

            digraph DG {
              A -> B;
              A -> C;

              B -> D;
              B -> E;

              C -> E;
            }

       (note the additional edge from C to E ), processed by the command

            prune -n B -N color=red test.dot

       results in

            digraph DG {
              B [color=red];
              A -> B;
              A -> C;
              C -> E;
            }

       Node E has not been removed since its second parent C is not being
       pruned.


EXIT STATUS
       prune returns 0 on successful completion.  It returns 1 if an error
       occurs.

SEE ALSO
       dot(1), gpr(1)


AUTHOR
       Marcus Harnisch <marcus.harnisch@gmx.net>



                                                                      prune(1)
