Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages




home | help
TSORT(1)		 General Commands Manual		 TSORT(1)
NAME
 tsort --	topological sort of a directed graph
SYNOPSIS
 tsort [-dlq] [file]
DESCRIPTION
 The tsort utility takes	a list of pairs	of node	names representing di-
 rected arcs in a	graph and prints the nodes in	topological order on
 standard	 output. Input	is taken from the named	file, or from standard
 input if	no file	is given.
 There must be an	even number of nodes in	the input. Node names	speci-
 fied on the same	line should be white space separated.
 Presence	 of a	node in a graph can be	represented by an arc from the
 node to itself.	This is	useful when a node is not connected to any
 other nodes.
 If the	graph contains	 a cycle (and	 therefore cannot be properly
 sorted),	one of the arcs	in the cycle is	ignored	and the	 sort contin-
 ues. Cycles are	reported on standard error.
 The options are as follows:
 -d Turn on debugging.
 -l Search for and display the longest cycle. Can take a very long
	 time.
 -q Do not	display	 informational messages	about cycles. This is
	 primarily intended for building libraries, where	optimal	order-
	 ing is not critical, and	cycles occur often.
EXAMPLES
 Assuming	a file named dag with the following contents representing a
 directed	acyclic	graph:
	 A B
	 A F
	 B C
	 B D
	 D E
 Sort the	nodes of the graph:
	 $ tsort dag
	 A
	 F
	 B
	 D
	 C
	 E
 White spaces and new line characters are considered equal. This file
 for example is considered equal to the one we defined before:
	 $ cat dga
	 A B A F B C B D D E
 Assume we add a new directed arc	from D to A creating a cycle:
	 A B
	 A F
	 B C
	 B D
	 D E
	 D A
 Ordering	the graph detects the cycle:
	 $ tsort dag
	 tsort: cycle in data
	 tsort: A
	 tsort: B
	 tsort: D
	 D
	 E
	 A
	 F
	 B
	 C
 Same as above but silencing the warning about the cycle:
	 $ tsort -q	dag
	 D
	 E
	 A
	 F
	 B
	 C
SEE ALSO
 ar(1)
HISTORY
 The tsort command appeared in Version 7 AT&T UNIX. This	tsort command
 and manual page are derived from sources contributed	to Berkeley by
 Michael Rendell of Memorial University of Newfoundland.
BUGS
 The tsort utility does not recognize multibyte characters.
FreeBSD	14.3			August 30, 2020			 TSORT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tsort&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help

AltStyle によって変換されたページ (->オリジナル) /