我試圖建立一個shell命令(在Mac OSX El Capitan上)遞歸地重命名我所有的DOCX文件來擴展ZZZZ,然後立即重命名他們再次回到DOCX擴展。這是一個解決方法,希望能夠解決問題,如下所示:shell命令(在Mac OSX El Capitan上)遞歸地重命名我所有的DOCX文件
我這樣做是爲了避免Mac Spotlight錯誤,它無法正確搜索Mac Word 2011文件內的內容。它給出了間歇性的結果,並且似乎錯過了很多點擊(這個問題似乎在蘋果Mac論壇上被稱爲幾年)。重命名文件似乎可以啓動Spotlight。
Mac Shell沒有BASH Rename命令,所以我試圖反覆使用「MV」命令。我已經有部分成功用下面的代碼,但不知道如何配合它一起...
cd ~/Documents/TESTING/
# FINDS MY DOCX'S RECURSIVELY IN TOP-LEVEL FOLDER AND IT'S SUBFOLDERS. NOT SURE OF SYNTAX TO USE FOR "MV" COMMAND TO RENAME DOCX FILES
# find . -wholename '*.docx' -type f -exec mv UNSURE1HERE UNSURE2HERE \;
# WORKS BUT ONLY IN TOP-LEVEL FOLDER - I NEED IT TO WORK RECURSIVELY ON DOCX'S IN TOP-LEVEL FOLDER AND IT'S SUBFOLDERS:
# for files in *.docx; do mv "$files" "${files%.docx}.zzzz"; done
只需更改文件的修改時間就可以重新編制索引?在每個文件上使用「touch」要比試圖重命名兩次要簡單得多:find。 -wholename'* .docx'-type f -exec touch {} +' – chepner
不確定這是對Apple/Microsoft Spotlight錯誤的可靠修復。我也想保留時間和日期元數據。我沒有看到重命名擴展名「兩次」的缺點。速度不是一個大問題。謝謝。 – s2016
「Mac Shell沒有BASH重命名命令」:OS X上的默認shell一直是bash。重命名* nix文件一直使用'mv'完成。另外,你可能想看看'mdutil'命令。 – miken32