tsort
可以按以下示例提供输入:
$ tsort <<EOF
a b c
b c d e
EOF
如果我有两个文件作为输入,
a
b
c
和
b
c
d
e
如何在 bash 中提供这两个文件作为 的输入tsort
?谢谢。
答案1
您需要将每个文件的所有条目放入一行中。
您可以使用不带引号的引号来执行此操作$(...)
,它将在空格(包括换行符)上分割,然后您可以使用echo
它来将参数打印到一行中。
这应该有效:
{ echo $(cat file1)
echo $(cat file2)
} | tsort
这应该产生与您的示例相同的输出。
更新:tsort 的输入在任何空白处都会被破坏,因此将每个文件的内容保留在一行中并不重要。
在这种情况下,这应该足够了:
cat file1 file2 | tsort
尽管在您的示例中,您实际上没有多少对,但您的 file1 中有奇数个项目。作为你已经注意到了,这对 tsort 来说是一个问题。