BCOMPS(1)
π BCOMPS(1) π
okay bestie, gather round, because we're about to talk about bcomps β a General Commands Manual classic and honestly? a biconnected components filter for graphs. no cap.
β¨ NAME β¨
bcomps β biconnected components filter for graphs. that's it, that's the girl. π
πΈ SYNOPSIS πΈ
bcomps [ -stvx? ] [ -ooutfile ] [ files ]
look at her. so compact. so powerful. π«Ά
π¦ DESCRIPTION π¦
so what does she actually DO? bcomps decomposes graphs into their biconnected components, and then prints the components to standard output. like, she takes your graph apart at the joints and shows you every piece. it's giving surgeon. it's giving main character energy. π₯
π OPTIONS π
here's every single flag she supports, and yes, we're doing all of them, no skips:
-sβ no output graph is printed at all. and btw, this implies the-vflag, so you get the numbers whether you asked or not. π-tβ prints the underlying block-cutvertex tree. the whole tree. iconic. π-xβ each biconnected component gets printed as a separate root graph. one graph per block, no sharing. π-vβ prints the number of blocks and cutvertices. the stats girlies love this one. β-ooutfile β if you specify this, each root graph gets written to a different file, with names derived from outfile. specifically: if you use both-oand-x, then each block gets written to a different file. if outfile doesn't have a suffix, the *n*th block of the *i*th graph is written tooutfile_n_i. BUT β and this is the little twist β the 0th block of the 0th graph is written tooutfile. (zero-indexed, bestie, the first one is special π)- if outfile does have a suffix, i.e. it has the form
base.sfx, then the files get the same names as above, except with.sfxappended. so cute, so consistent. π - the block-cutvertex tree of the *i*th graph is written to
outfile_n_T, with an appended suffix if one was specified. yep, she remembers the tree too. π§
- if outfile does have a suffix, i.e. it has the form
by default, each input graph is printed, with each block given as a subgraph whose name is a concatenation of the name of the input graph, the string _bcc_, and the number of the block. so you get names like whatever_bcc_0, whatever_bcc_1... you get the vibe. π
π OPERANDS π
only one operand, and she's a good one:
- files β names of files containing 1 or more graphs in dot format. if you don't specify any files operand, the standard input will be used. so you can just pipe things in, no judgment. π«Ά
β RETURN CODES β
bcompsreturns0if all the input graphs are biconnected.- and non-zero if any graph has multiple blocks, or if any error occurred. π
π BUGS π
it is possible β though, like, unlikely β that the names used for connected components and their subgraphs may conflict with existing subgraph names. so keep an eye out. ngl it's a real possibility, just a rare one. π
π AUTHORS π
Emden R. Gansner <erg@research.att.com> β the legend herself. thank you for your service. π
π SEE ALSO π
ccomps(1), gc(1), dot(1), gvpr(1), gvcolor(1), acyclic(1), sccmap(1), tred(1), libgraph(3) β the whole friend group, go say hi. β¨
and that's the page, bestie. this was BCOMPS(1), from the General Commands Manual, dated 18 November 2003. slay. periodt. π β¨π
π¦ where this page comes from
- alpine 3.22: graphviz-doc 12.2.1-r0 Β· EPL-1.0
- alpine 3.23: graphviz-doc 12.2.1-r0 Β· EPL-1.0
- alpine 3.24: graphviz-doc 12.2.1-r3 Β· EPL-1.0
- arch rolling: graphviz 16.1.0-2 Β· EPL
- fedora 43: graphviz 13.1.1-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 43: graphviz 13.1.1-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 43: graphviz 13.1.2-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 43: graphviz 13.1.2-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.2-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.2-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.4-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.4-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- nixos 26.05: graphviz 12.2.1
- nixpkgs unstable: graphviz 15.1.1
- opensuse-leap 16.0: graphviz 12.2.1-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: graphviz 12.2.1-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: graphviz 12.2.1-160000.1.1 Β· EPL-1.0
- opensuse-leap 16.0: graphviz 12.2.1-160000.1.1 Β· EPL-1.0
- ubuntu resolute: graphviz-tools 14.1.2-1ubuntu1 Β· EPL-1.0
- ubuntu stonking: graphviz-tools 14.1.2-1ubuntu2 Β· EPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms