Files
uutils.github.io/user/utils/tsort.html
T
2023-04-03 02:39:26 +00:00

260 lines
26 KiB
HTML

<!DOCTYPE HTML>
<html lang="en" class="sidebar-visible no-js light">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>tsort - uutils Documentation</title>
<!-- Custom HTML head -->
<style>
dd {
margin-bottom: 1em;
}
main {
position: relative;
}
.additional {
position: absolute;
top: 0.5em;
right: 0;
display: flex;
gap: 5px;
align-items: center;
font-size: 1.3em;
}
.platforms {
font-size: 2rem;
}
dd > p {
margin-top: 0.2em;
}
</style>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" />
<link rel="icon" href="../favicon.svg">
<link rel="stylesheet" href="../css/variables.css">
<link rel="stylesheet" href="../css/general.css">
<link rel="stylesheet" href="../css/chrome.css">
<link rel="stylesheet" href="../css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="../fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="../highlight.css">
<link rel="stylesheet" href="../tomorrow-night.css">
<link rel="stylesheet" href="../ayu-highlight.css">
<!-- Custom theme stylesheets -->
</head>
<body>
<div id="body-container">
<!-- Provide site root to javascript -->
<script>
var path_to_root = "../";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
</script>
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script>
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script>
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
html.classList.remove('light')
html.classList.add(theme);
html.classList.add('js');
</script>
<!-- Hide / unhide sidebar before it is displayed -->
<script>
var html = document.querySelector('html');
var sidebar = null;
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
} else {
sidebar = 'hidden';
}
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded affix "><a href="../index.html">Introduction</a></li><li class="chapter-item expanded "><a href="../installation.html"><strong aria-hidden="true">1.</strong> Installation</a></li><li class="chapter-item expanded "><a href="../build.html"><strong aria-hidden="true">2.</strong> Build from source</a></li><li class="chapter-item expanded "><a href="../contributing.html"><strong aria-hidden="true">3.</strong> Contributing</a></li><li class="chapter-item expanded "><a href="../test_coverage.html"><strong aria-hidden="true">4.</strong> GNU test coverage</a></li><li class="chapter-item expanded "><a href="../extensions.html"><strong aria-hidden="true">5.</strong> Extensions</a></li><li class="chapter-item expanded affix "><li class="part-title">Reference</li><li class="chapter-item expanded "><a href="../multicall.html"><strong aria-hidden="true">6.</strong> Multi-call binary</a></li><li class="chapter-item expanded "><a href="../utils/arch.html"><strong aria-hidden="true">7.</strong> arch</a></li><li class="chapter-item expanded "><a href="../utils/b2sum.html"><strong aria-hidden="true">8.</strong> b2sum</a></li><li class="chapter-item expanded "><a href="../utils/b3sum.html"><strong aria-hidden="true">9.</strong> b3sum</a></li><li class="chapter-item expanded "><a href="../utils/base32.html"><strong aria-hidden="true">10.</strong> base32</a></li><li class="chapter-item expanded "><a href="../utils/base64.html"><strong aria-hidden="true">11.</strong> base64</a></li><li class="chapter-item expanded "><a href="../utils/basename.html"><strong aria-hidden="true">12.</strong> basename</a></li><li class="chapter-item expanded "><a href="../utils/basenc.html"><strong aria-hidden="true">13.</strong> basenc</a></li><li class="chapter-item expanded "><a href="../utils/cat.html"><strong aria-hidden="true">14.</strong> cat</a></li><li class="chapter-item expanded "><a href="../utils/chcon.html"><strong aria-hidden="true">15.</strong> chcon</a></li><li class="chapter-item expanded "><a href="../utils/chgrp.html"><strong aria-hidden="true">16.</strong> chgrp</a></li><li class="chapter-item expanded "><a href="../utils/chmod.html"><strong aria-hidden="true">17.</strong> chmod</a></li><li class="chapter-item expanded "><a href="../utils/chown.html"><strong aria-hidden="true">18.</strong> chown</a></li><li class="chapter-item expanded "><a href="../utils/chroot.html"><strong aria-hidden="true">19.</strong> chroot</a></li><li class="chapter-item expanded "><a href="../utils/cksum.html"><strong aria-hidden="true">20.</strong> cksum</a></li><li class="chapter-item expanded "><a href="../utils/comm.html"><strong aria-hidden="true">21.</strong> comm</a></li><li class="chapter-item expanded "><a href="../utils/cp.html"><strong aria-hidden="true">22.</strong> cp</a></li><li class="chapter-item expanded "><a href="../utils/csplit.html"><strong aria-hidden="true">23.</strong> csplit</a></li><li class="chapter-item expanded "><a href="../utils/cut.html"><strong aria-hidden="true">24.</strong> cut</a></li><li class="chapter-item expanded "><a href="../utils/date.html"><strong aria-hidden="true">25.</strong> date</a></li><li class="chapter-item expanded "><a href="../utils/dd.html"><strong aria-hidden="true">26.</strong> dd</a></li><li class="chapter-item expanded "><a href="../utils/df.html"><strong aria-hidden="true">27.</strong> df</a></li><li class="chapter-item expanded "><a href="../utils/dir.html"><strong aria-hidden="true">28.</strong> dir</a></li><li class="chapter-item expanded "><a href="../utils/dircolors.html"><strong aria-hidden="true">29.</strong> dircolors</a></li><li class="chapter-item expanded "><a href="../utils/dirname.html"><strong aria-hidden="true">30.</strong> dirname</a></li><li class="chapter-item expanded "><a href="../utils/du.html"><strong aria-hidden="true">31.</strong> du</a></li><li class="chapter-item expanded "><a href="../utils/echo.html"><strong aria-hidden="true">32.</strong> echo</a></li><li class="chapter-item expanded "><a href="../utils/env.html"><strong aria-hidden="true">33.</strong> env</a></li><li class="chapter-item expanded "><a href="../utils/expand.html"><strong aria-hidden="true">34.</strong> expand</a></li><li class="chapter-item expanded "><a href="../utils/expr.html"><strong aria-hidden="true">35.</strong> expr</a></li><li class="chapter-item expanded "><a href="../utils/factor.html"><strong aria-hidden="true">36.</strong> factor</a></li><li class="chapter-item expanded "><a href="../utils/false.html"><strong aria-hidden="true">37.</strong> false</a></li><li class="chapter-item expanded "><a href="../utils/fmt.html"><strong aria-hidden="true">38.</strong> fmt</a></li><li class="chapter-item expanded "><a href="../utils/fold.html"><strong aria-hidden="true">39.</strong> fold</a></li><li class="chapter-item expanded "><a href="../utils/groups.html"><strong aria-hidden="true">40.</strong> groups</a></li><li class="chapter-item expanded "><a href="../utils/hashsum.html"><strong aria-hidden="true">41.</strong> hashsum</a></li><li class="chapter-item expanded "><a href="../utils/head.html"><strong aria-hidden="true">42.</strong> head</a></li><li class="chapter-item expanded "><a href="../utils/hostid.html"><strong aria-hidden="true">43.</strong> hostid</a></li><li class="chapter-item expanded "><a href="../utils/hostname.html"><strong aria-hidden="true">44.</strong> hostname</a></li><li class="chapter-item expanded "><a href="../utils/id.html"><strong aria-hidden="true">45.</strong> id</a></li><li class="chapter-item expanded "><a href="../utils/install.html"><strong aria-hidden="true">46.</strong> install</a></li><li class="chapter-item expanded "><a href="../utils/join.html"><strong aria-hidden="true">47.</strong> join</a></li><li class="chapter-item expanded "><a href="../utils/kill.html"><strong aria-hidden="true">48.</strong> kill</a></li><li class="chapter-item expanded "><a href="../utils/link.html"><strong aria-hidden="true">49.</strong> link</a></li><li class="chapter-item expanded "><a href="../utils/ln.html"><strong aria-hidden="true">50.</strong> ln</a></li><li class="chapter-item expanded "><a href="../utils/logname.html"><strong aria-hidden="true">51.</strong> logname</a></li><li class="chapter-item expanded "><a href="../utils/ls.html"><strong aria-hidden="true">52.</strong> ls</a></li><li class="chapter-item expanded "><a href="../utils/md5sum.html"><strong aria-hidden="true">53.</strong> md5sum</a></li><li class="chapter-item expanded "><a href="../utils/mkdir.html"><strong aria-hidden="true">54.</strong> mkdir</a></li><li class="chapter-item expanded "><a href="../utils/mkfifo.html"><strong aria-hidden="true">55.</strong> mkfifo</a></li><li class="chapter-item expanded "><a href="../utils/mknod.html"><strong aria-hidden="true">56.</strong> mknod</a></li><li class="chapter-item expanded "><a href="../utils/mktemp.html"><strong aria-hidden="true">57.</strong> mktemp</a></li><li class="chapter-item expanded "><a href="../utils/more.html"><strong aria-hidden="true">58.</strong> more</a></li><li class="chapter-item expanded "><a href="../utils/mv.html"><strong aria-hidden="true">59.</strong> mv</a></li><li class="chapter-item expanded "><a href="../utils/nice.html"><strong aria-hidden="true">60.</strong> nice</a></li><li class="chapter-item expanded "><a href="../utils/nl.html"><strong aria-hidden="true">61.</strong> nl</a></li><li class="chapter-item expanded "><a href="../utils/nohup.html"><strong aria-hidden="true">62.</strong> nohup</a></li><li class="chapter-item expanded "><a href="../utils/nproc.html"><strong aria-hidden="true">63.</strong> nproc</a></li><li class="chapter-item expanded "><a href="../utils/numfmt.html"><strong aria-hidden="true">64.</strong> numfmt</a></li><li class="chapter-item expanded "><a href="../utils/od.html"><strong aria-hidden="true">65.</strong> od</a></li><li class="chapter-item expanded "><a href="../utils/paste.html"><strong aria-hidden="true">66.</strong> paste</a></li><li class="chapter-item expanded "><a href="../utils/pathchk.html"><strong aria-hidden="true">67.</strong> pathchk</a></li><li class="chapter-item expanded "><a href="../utils/pinky.html"><strong aria-hidden="true">68.</strong> pinky</a></li><li class="chapter-item expanded "><a href="../utils/pr.html"><strong aria-hidden="true">69.</strong> pr</a></li><li class="chapter-item expanded "><a href="../utils/printenv.html"><strong aria-hidden="true">70.</strong> printenv</a></li><li class="chapter-item expanded "><a href="../utils/printf.html"><strong aria-hidden="true">71.</strong> printf</a></li><li class="chapter-item expanded "><a href="../utils/ptx.html"><strong aria-hidden="true">72.</strong> ptx</a></li><li class="chapter-item expanded "><a href="../utils/pwd.html"><strong aria-hidden="true">73.</strong> pwd</a></li><li class="chapter-item expanded "><a href="../utils/readlink.html"><strong aria-hidden="true">74.</strong> readlink</a></li><li class="chapter-item expanded "><a href="../utils/realpath.html"><strong aria-hidden="true">75.</strong> realpath</a></li><li class="chapter-item expanded "><a href="../utils/relpath.html"><strong aria-hidden="true">76.</strong> relpath</a></li><li class="chapter-item expanded "><a href="../utils/rm.html"><strong aria-hidden="true">77.</strong> rm</a></li><li class="chapter-item expanded "><a href="../utils/rmdir.html"><strong aria-hidden="true">78.</strong> rmdir</a></li><li class="chapter-item expanded "><a href="../utils/runcon.html"><strong aria-hidden="true">79.</strong> runcon</a></li><li class="chapter-item expanded "><a href="../utils/seq.html"><strong aria-hidden="true">80.</strong> seq</a></li><li class="chapter-item expanded "><a href="../utils/sha1sum.html"><strong aria-hidden="true">81.</strong> sha1sum</a></li><li class="chapter-item expanded "><a href="../utils/sha224sum.html"><strong aria-hidden="true">82.</strong> sha224sum</a></li><li class="chapter-item expanded "><a href="../utils/sha256sum.html"><strong aria-hidden="true">83.</strong> sha256sum</a></li><li class="chapter-item expanded "><a href="../utils/sha3-224sum.html"><strong aria-hidden="true">84.</strong> sha3-224sum</a></li><li class="chapter-item expanded "><a href="../utils/sha3-256sum.html"><strong aria-hidden="true">85.</strong> sha3-256sum</a></li><li class="chapter-item expanded "><a href="../utils/sha3-384sum.html"><strong aria-hidden="true">86.</strong> sha3-384sum</a></li><li class="chapter-item expanded "><a href="../utils/sha3-512sum.html"><strong aria-hidden="true">87.</strong> sha3-512sum</a></li><li class="chapter-item expanded "><a href="../utils/sha384sum.html"><strong aria-hidden="true">88.</strong> sha384sum</a></li><li class="chapter-item expanded "><a href="../utils/sha3sum.html"><strong aria-hidden="true">89.</strong> sha3sum</a></li><li class="chapter-item expanded "><a href="../utils/sha512sum.html"><strong aria-hidden="true">90.</strong> sha512sum</a></li><li class="chapter-item expanded "><a href="../utils/shake128sum.html"><strong aria-hidden="true">91.</strong> shake128sum</a></li><li class="chapter-item expanded "><a href="../utils/shake256sum.html"><strong aria-hidden="true">92.</strong> shake256sum</a></li><li class="chapter-item expanded "><a href="../utils/shred.html"><strong aria-hidden="true">93.</strong> shred</a></li><li class="chapter-item expanded "><a href="../utils/shuf.html"><strong aria-hidden="true">94.</strong> shuf</a></li><li class="chapter-item expanded "><a href="../utils/sleep.html"><strong aria-hidden="true">95.</strong> sleep</a></li><li class="chapter-item expanded "><a href="../utils/sort.html"><strong aria-hidden="true">96.</strong> sort</a></li><li class="chapter-item expanded "><a href="../utils/split.html"><strong aria-hidden="true">97.</strong> split</a></li><li class="chapter-item expanded "><a href="../utils/stat.html"><strong aria-hidden="true">98.</strong> stat</a></li><li class="chapter-item expanded "><a href="../utils/stdbuf.html"><strong aria-hidden="true">99.</strong> stdbuf</a></li><li class="chapter-item expanded "><a href="../utils/stty.html"><strong aria-hidden="true">100.</strong> stty</a></li><li class="chapter-item expanded "><a href="../utils/sum.html"><strong aria-hidden="true">101.</strong> sum</a></li><li class="chapter-item expanded "><a href="../utils/sync.html"><strong aria-hidden="true">102.</strong> sync</a></li><li class="chapter-item expanded "><a href="../utils/tac.html"><strong aria-hidden="true">103.</strong> tac</a></li><li class="chapter-item expanded "><a href="../utils/tail.html"><strong aria-hidden="true">104.</strong> tail</a></li><li class="chapter-item expanded "><a href="../utils/tee.html"><strong aria-hidden="true">105.</strong> tee</a></li><li class="chapter-item expanded "><a href="../utils/test.html"><strong aria-hidden="true">106.</strong> test</a></li><li class="chapter-item expanded "><a href="../utils/timeout.html"><strong aria-hidden="true">107.</strong> timeout</a></li><li class="chapter-item expanded "><a href="../utils/touch.html"><strong aria-hidden="true">108.</strong> touch</a></li><li class="chapter-item expanded "><a href="../utils/tr.html"><strong aria-hidden="true">109.</strong> tr</a></li><li class="chapter-item expanded "><a href="../utils/true.html"><strong aria-hidden="true">110.</strong> true</a></li><li class="chapter-item expanded "><a href="../utils/truncate.html"><strong aria-hidden="true">111.</strong> truncate</a></li><li class="chapter-item expanded "><a href="../utils/tsort.html" class="active"><strong aria-hidden="true">112.</strong> tsort</a></li><li class="chapter-item expanded "><a href="../utils/tty.html"><strong aria-hidden="true">113.</strong> tty</a></li><li class="chapter-item expanded "><a href="../utils/uname.html"><strong aria-hidden="true">114.</strong> uname</a></li><li class="chapter-item expanded "><a href="../utils/unexpand.html"><strong aria-hidden="true">115.</strong> unexpand</a></li><li class="chapter-item expanded "><a href="../utils/uniq.html"><strong aria-hidden="true">116.</strong> uniq</a></li><li class="chapter-item expanded "><a href="../utils/unlink.html"><strong aria-hidden="true">117.</strong> unlink</a></li><li class="chapter-item expanded "><a href="../utils/uptime.html"><strong aria-hidden="true">118.</strong> uptime</a></li><li class="chapter-item expanded "><a href="../utils/users.html"><strong aria-hidden="true">119.</strong> users</a></li><li class="chapter-item expanded "><a href="../utils/vdir.html"><strong aria-hidden="true">120.</strong> vdir</a></li><li class="chapter-item expanded "><a href="../utils/wc.html"><strong aria-hidden="true">121.</strong> wc</a></li><li class="chapter-item expanded "><a href="../utils/who.html"><strong aria-hidden="true">122.</strong> who</a></li><li class="chapter-item expanded "><a href="../utils/whoami.html"><strong aria-hidden="true">123.</strong> whoami</a></li><li class="chapter-item expanded "><a href="../utils/yes.html"><strong aria-hidden="true">124.</strong> yes</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</button>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
</div>
<h1 class="menu-title">uutils Documentation</h1>
<div class="right-buttons">
<a href="../print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
<a href="https://github.com/rust-lang/cargo/tree/master/src/doc/src" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa fa-github"></i>
</a>
</div>
</div>
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
<h1 id="tsort"><a class="header" href="#tsort">tsort</a></h1>
<div class="additional">
<div class="platforms">
<i class="fa fa-brands fa-linux"></i>
<i class="fa fa-brands fa-apple"></i>
<i class="fa fa-brands fa-windows"></i>
</div>
<div class="version">v0.0.18
</div>
</div>
<pre><code>tsort [OPTIONS] FILE
</code></pre>
<p>Topological sort the strings in FILE.
Strings are defined as any sequence of tokens separated by whitespace (tab, space, or newline).
If FILE is not passed in, stdin is used instead.</p>
<h2 id="options"><a class="header" href="#options">Options</a></h2>
<dl><dt></dt>
<dd>
</dd>
<dt><code>--help</code>, <code>-h</code></dt>
<dd>
<p>Print help</p>
</dd>
<dt><code>--version</code>, <code>-V</code></dt>
<dd>
<p>Print version</p>
</dd>
</dl>
<h2 id="examples"><a class="header" href="#examples">Examples</a></h2>
<p>Perform a topological sort consistent with a partial sort per line of input separated by blanks:</p>
<pre><code class="language-shell">tsort {{path/to/file}}
</code></pre>
<blockquote>
<p>The examples are provided by the <a href="https://tldr.sh">tldr-pages project</a> under the <a href="https://github.com/tldr-pages/tldr/blob/main/LICENSE.md">CC BY 4.0 License</a>.</p>
<p>Please note that, as uutils is a work in progress, some examples might fail.</p>
</blockquote>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="../utils/truncate.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="../utils/tty.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="../utils/truncate.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="../utils/tty.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</div>
<script>
window.playground_copyable = true;
</script>
<script src="../elasticlunr.min.js"></script>
<script src="../mark.min.js"></script>
<script src="../searcher.js"></script>
<script src="../clipboard.min.js"></script>
<script src="../highlight.js"></script>
<script src="../book.js"></script>
<!-- Custom JS scripts -->
</div>
</body>
</html>