題 在Mac上查找-printf(-printf未知選項)


我有一些代碼用於獲取最近修改的文件時間的MD5總和

find ./media -type f -printf "%TY-%Tm-%Td %TT %p \n" | sort | more | tail -1 | md5 -r | awk '{print $1}'

我使用它為我的CDN文件生成唯一鍵,其背後的邏輯是如果文件更改了鍵更改,則文件將被緩存並重新加載。

無論如何,當我嘗試在我的Mac上運行它時,我得到錯誤'-printf unknown option'
我瀏覽了手冊頁但找不到類似的東西,我怎麼能得到這個呢?


4
2018-06-05 16:34


起源




答案:


printf 特定於GNU查找,在OS X上不可用 find 默認情況下。

安裝 的findutils 在你的Mac上,例如運用 家釀 使用以下命令:

brew install findutils

您也可以使用Macports或Fink,他們可能也有這個包。

要實際使用gnu找到你需要使用 gfind 以來 find 仍將鏈接到OSX find 位於 /usr/bin/find

Homebrew附帶一個 龍頭 對於通過homebrew安裝的命令複製系統命令的情況。
簡單地做 brew tap homebrew/dupes,然後為上面的例子 brew install findutils
現在你應該能夠使用homebrews find命令而無需通過顯式調用它 gfind


14
2018-06-05 16:37



...一旦你安裝了findutils,安裝的命令名為gfind(gnu find) - Quentin


你可以使用 -ls 而不是標記來獲取相同的信息(然後是一些信息),這可能對您的目的起作用。


0
2018-06-06 22:23