如果我運行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