コンテンツにスキップ

GNU Core Utilities/tsort

出典: フリー教科書『ウィキブックス(Wikibooks)』

tsort コマンドは、依存関係のあるデータをソートするためのコマンドです。主に、タスクや処理の順番を決定するために使用され、入力されたデータに基づいてその依存関係を整理します。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。

基本的な使い方

[編集]
tsort [オプション]

主なオプション(GNU coreutils版)

[編集]
主なオプション
オプション 説明
-o, --output=FILE 結果を指定したファイルに出力
-b, --batch バッチモードで処理

[編集]

依存関係をソート

[編集]
echo -e "a\nb\na c\nb c" | tsort

ab より前、または ac の間に依存関係がある場合、依存関係に従ってソートされた結果が表示されます。

結果をファイルに出力

[編集]
echo -e "a\nb\na c\nb c" | tsort -o sorted.txt

結果を sorted.txt に保存。

FreeBSD 版との違い

[編集]

FreeBSD でも tsort コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。

主な違い:

[編集]
  1. オプションの違い
    • FreeBSD の tsort では、GNU 版のようにバッチモード(-b)オプションは存在しません。主に標準的なソート機能のみが提供されています。
  2. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると gtsort という名前で GNU 版の tsort が使える。
    pkg install coreutils
    gtsort < input.txt  # GNU版の tsort を使用
    

詳しくは、それぞれの環境で man tsort を確認してください。