如果我运行find
(特别是Ubuntu),我是否期望它每次都能给出相同的结果顺序? (假设,当然,实际的文件并没有改变。)unix'find'每次都给出相同的顺序吗?
换句话说,如果我跑
$ find foo
,这让我
bar.txt
foo.txt
我可以期望它永远不会给我
foo.txt
bar.txt
?
如果我运行find
(特别是Ubuntu),我是否期望它每次都能给出相同的结果顺序? (假设,当然,实际的文件并没有改变。)unix'find'每次都给出相同的顺序吗?
换句话说,如果我跑
$ find foo
,这让我
bar.txt
foo.txt
我可以期望它永远不会给我
foo.txt
bar.txt
?
答案是“很可能”,但你不应该依赖它,因为任何数量的东西都会影响它。
你想要什么命令文件?决定,然后使用一个find
命令(也许管道到sort
),它可重复地得到你需要的结果。
文件的顺序由文件系统格式和文件系统驱动程序的细节决定。你不能依靠它。根据文件系统和操作系统,以下是可能会更改顺序的内容:
如果您想要一个可重现的订单,请对结果进行排序。如果没有任何文件名包含换行符,则find … | sort
会很好地执行。
这是一个很好的电话。订单对我来说并不重要,只要它是一样的;所以通过任何不会改变的内容(例如,文件名)进行排序都可以。 – mfrankli