February 11, 2007
justinlove
在天空部落發表於22:36:52 |
UNIX
鼓勵此網誌:0
又是在牛頭書中看到,遞迴執行 find 指令。書中範例提到使用 -exec 選項,可以要求 find 針對搜尋的結果執行所指定的命令。哈,還真好用。
我把書中範例修改成我實際能用的上的。
find DLs/Acq/ -name "*.jpg"這行的意思是把 DLs/Acq/ 資料夾下所有附檔名為 jpg 的檔案列出。記得在 *.jpg 外面要加上引號才不會誤判。find DLs/Acq/ -name "*.jpg" -exec open {} \;-exec 代表要接著執行後述的命令,而 open 指令在 Mac OS X 上可以開啟檔案。再來的這一對大括號 {} 代表由 find 指令查詢出來的結果,最後以分號為結尾。但任何萬用字元,包括分號前都要加註引號("")或脫逸字元(\)。所以,也能改寫成如下的方式。find DLs/Acq/ -name "*.jpg" -exec open {} ";"這整串命令的意思就是用預設的軟體(Preview.app)開啟 DLs/Acq/ 下所有副檔名為 jpg 的檔案。PS. open 這個指令,最早出現在 Mac OS X 的老爸 NeXTSTEP。 (First appeared in NextStep)



























