.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "BOTCH-EXTRACT-SCC 1" .TH BOTCH-EXTRACT-SCC 1 "2023-09-22" "perl v5.36.0" "botch tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" botch\-extract\-scc \- extract all strongly connected components .SH "SYNOPSIS" .IX Header "SYNOPSIS" .IP "\fBbotch-extract-scc\fR [options] \fIgraph.xml\fR [\fIprefix\fR]" 4 .IX Item "botch-extract-scc [options] graph.xml [prefix]" .SH "DESCRIPTION" .IX Header "DESCRIPTION" Extract strongly connected components (\s-1SCC\s0) from an input graph in GraphML or dot format. .PP The strongly connected components are stored as one file each in either the current directory or the directory given by the \fB\-\-outdir\fR option. .PP The file names that were generated for them are printed on standard output. .PP By default that filename is of the format \s-1PREFIX_VERTEX_SIZE.EXT\s0 where \s-1PREFIX\s0 can be set on the command line, while \s-1VERTEX\s0 defaults to the vertex \s-1ID\s0 chosen by network, \s-1SIZE\s0 is the size of the \s-1SCC\s0 and \s-1EXT\s0 is xml by default but can be set using the \fB\-\-extension\fR option. This is to reduce the possibility that two output graph files happen to have the same name. You can make them more unique by using the \fB\-\-outfnamevert\fR and \fB\-\-outfnameattr\fR options which refine the string that will be printed for \s-1VERTEX.\s0 .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Show help. .IP "\fB\-\-outdir=\fR\fI\s-1DIR\s0\fR" 4 .IX Item "--outdir=DIR" output directory. Default is current directory .IP "\fB\-\-outfnamevert=\fR\fI\s-1VERT\s0\fR" 4 .IX Item "--outfnamevert=VERT" This option picks the set of vertices from which the smallest one (by string comparison of the attribute determined by the \fB\-\-outfnameattr\fR option) will be chosen to be stored in place of \s-1VERTEX\s0 in the output file name. The \s-1VERT\s0 argument is a key/value pair (separated by a colon) of a graph attribute and its value. By default (without this option), all vertices of the graph are considered. .Sp The special key \f(CW\*(C`_\|_ID_\|_\*(C'\fR allows one to select the unique vertex identifier. .Sp This option can be specified more than once. The final set of vertices is chosen such that all vertices match all key/value pairs. Multiple \&\fB\-\-outfnamevert\fR options thus form a logical conjunction (they are AND-ed together). .IP "\fB\-\-outfnameattr=\fR\fIattribute\fR" 4 .IX Item "--outfnameattr=attribute" This option picks the vertex attribute that is to be printed in \s-1VERTEX\s0 in the output file name. .IP "\fB\-\-extension=\fR\fI\s-1EXT\s0\fR" 4 .IX Item "--extension=EXT" Output files have extension \fI\s-1EXT\s0\fR. Default is xml. This option also governs the output format. The xml extension saves in GraphML format while the dot extension saves in the dot format. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Be verbose. .SH "EXAMPLE" .IX Header "EXAMPLE" Extract the strongly connected components of a buildgraph and store them in the directory \*(L"out\*(R", prefixing each filename with \*(L"cyclic\*(R" and let the \s-1VERTEX\s0 value be the cudfname field of source packages only. .PP .Vb 1 \& botch\-extract\-scc \-\-verbose \-\-outdir=out \-\-outfnameattr=cudfname \-\-outfnamevert type:src buildgraph.xml cyclic .Ve .SH "BUGS" .IX Header "BUGS" See . .SH "SEE ALSO" .IX Header "SEE ALSO" Debian doc-base Manual \fI/usr/share/doc/botch/wiki/Home.html\fR .SH "AUTHOR" .IX Header "AUTHOR" This man page was written by Johannes Schauer. Botch is written by Johannes Schauer and Pietro Abate. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2012\-2014 Johannes Schauer, Pietro Abate .PP This program is free software: you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. A special linking exception to the \s-1GNU\s0 Lesser General Public License applies to this library, see the \s-1COPYING\s0 file for more information.