用xargs處理帶空格檔名
find和xargs是最好的組合,可以說是linux shell下的瑞士軍刀,用xargs配合find,比直接用find的-exec引數,速度更快,用法也更直觀。
基本的用法比如:
find ./ -name '*.bak' | xargs rm -rf
一般情況,上面這個命令執行的很好,但是如果找到的檔名代空格,上面的命令執行就可能會出問題了。
find有乙個引數-print0,於預設的-print相比,輸出的序列不是以空格分隔,而是以null字元分隔。而xargs也有乙個引數-0,可以接受以null而非空格間隔的輸入流。所以說xargs簡直就是為find而生的。上面的問題就很好解決了:
find ./ -name '*.bak' -print0 | xargs -0 rm -rf
orfind . -name "*.bak"|xargs -i echo '"{}"' |xargs rm -rf
orsudo find ./ -name '*.bak' -print0 | xargs -0 sudo rm -rf {} # 帶有空格的目錄
遞迴刪除目錄
include stdafx.h include include include using namespace std void deletedir cstring szpath void recursiondelete cstring szpath int tmain int argc,tcha...
刪除空目錄
專案需要遍歷兩個樹,以及其他一些引數生成一批excel 檔案樹,即 n級目錄 excel檔案。為了提高建立檔案的效率,一開始,遍歷的過程中,就將乙個乙個excel檔案樹子節點先建立好 只是建立目錄,並沒有建立檔案 然後,開啟100多個執行緒,各自去查資料庫,建立相應的檔案。單錶最多8w條資料,但總量...
php 刪除目錄
自定義的刪除函式,可以刪除檔案和遞迴刪除資料夾 function my del path 自定義my del函式,函式有乙個引數 path 當呼叫my del 函式時,我們同時要傳遞乙個路徑 例如 php rmdir path rmdir 函式刪除空的目錄 else path php 要刪除的資料夾...