Command-Line
刪除一系列子目錄中的某些文件
我有一個目錄,裡面有幾個子目錄。每個子目錄中都有幾個文件。我想刪除子目錄中的所有文件,除了 .pdf 文件。並且不理會子目錄。我用了
find . -type f ! -iname "*.pdf" -delete
但我必須在子目錄中才能使其工作。我也想遞歸地做。
在 bash 中,刪除目前所有子目錄中的所有非 pdf 文件:
shopt -s extglob rm */!(*.pdf)
初始
*/
匹配每個子目錄,而extglob 選項啟用以下!( ... )
模式:匹配除括號內的文件*之外的所有文件;*在這種情況下,要排除的模式是rm */!(*.[pP][dD][fF])