筆者在打掃NAS存儲當中的文档時, 發現某個包含了10T左右文档的目錄裡,有成堆Windows縮略圖文档Thumbs.db, 想使用批量刪除命令定點清理掉, 減少一點存儲成本:
find xxxx_path -type f -name "Thumbs.db" | xargs rm -f {}
結果控制台運行了一會兒, 報錯
xargs: unterminated quote
什麽鬼? 搞不清楚, 網上衆說紛紜, 都試了試, 例如有人說需要檢查看看哪個文档這麽皮, 用反引號揪出來的:
find xxxx_path -name \'
是的, 我還有那閑工夫。還有人說應該加\n參數的。耳邊似乎響起貼吧黨的慣用答案, 把整個盤都抹掉, 豈不美哉? 可我的目標很簡單的,文档是固定的文档名, 關閉什麽引號呢? 最後不糾結了, 畢竟技術渣, 換了-exec, 命令變成了這個樣子:
find xxxx_path -type f -name "Thumbs.db" -exec rm -f {} \;
補充一句, 這個時候可能有人心中要問了, 加個-type f參數做什麽?
f => file
d => directory
舉個例子, 刪除一個文档夾下所有含有.DS_Store字樣的文档
find /some_path -type f -name ".DS_Store" -exec rm -f {} \;