shell支持集吗?

时间:2011-09-06 02:17:21

标签: bash shell ksh

bash和ksh之类的shell是否支持set操作(例如'union of two sets')?我无法使用Google找到任何有关此内容的教程。

4 个答案:

答案 0 :(得分:4)

这个set-operations-in-unix-shell怎么样。

答案 1 :(得分:0)

据我所知,POSIX shell(包括bash)不支持set操作。但是你可以建立自己的,例如,使用bash associative array(bash 4.0及更高版本)。

答案 2 :(得分:0)

没有bash / ksh不支持专用集操作。如果你坚持使用shell,你将不得不编写自己的程序。就像xdazz提供的链接所做的那样。如果你想要完整的专用集合操作(​​也在性能方面),使用真正的编程语言(例如Python,Ruby等)

答案 3 :(得分:0)

I wrote a program recently called Setdown执行从cli设置操作。

它可以通过编写类似于在Makefile中编写的定义来执行set操作:

someUnion: "file-1.txt" \/ "file-2.txt"
someIntersection: "file-1.txt" /\ "file-2.txt"
someDifference: someUnion - someIntersection

非常酷,你应该检查一下。我个人不建议在unix shell中使用"设置操作"帖子。当你真的需要做很多设置操作或者你有任何相互依赖的设置操作时,它不会很好地工作。

无论如何,我觉得它非常酷,你应该完全检查一下。