1. 程式人生 > >rm命令如何在刪除檔案時排除忽略某特定檔案

rm命令如何在刪除檔案時排除忽略某特定檔案

方法一、使用擴充套件萬用字元

  1. 1

    首先開啟擴充套件萬用字元

    shopt -s  extglob

    rm命令如何在刪除檔案時排除忽略某特定檔案

  2. 2

    也可以先檢視是否開啟

    shopt -s

    rm命令如何在刪除檔案時排除忽略某特定檔案

  3. 3

    在test資料夾下有1.tt、1.png、index.html,現在要刪除除1.tt之外的所有檔案,則可以執行如下命令

    rm -rf !(1.tt)

    rm命令如何在刪除檔案時排除忽略某特定檔案

    END

方法二、find命令法

  1. 1

    在test資料夾下有1.tt、1.png、index.html,現在要刪除除1.tt之外的所有檔案,則可以執行如下命令

    find . -not -name "1.tt" -exec rm -rf {} \;

    在執行的時候有一個提示,不用管它,因為.和..是系統預設指明為當前目錄和上級

    目錄的,不會刪除的。

    rm命令如何在刪除檔案時排除忽略某特定檔案

  2. 2

    也可以將find的結果通過xargs進行轉換後再交給rm命令處理。

    find . -not -name "1.tt" | xargs rm -rf

    rm命令如何在刪除檔案時排除忽略某特定檔案

    END

方法三、shell指令碼

  1. 1

    在test資料夾下有1.tt、1.png、index.html,現在要刪除除1.tt之外的所有檔案,則可以編寫如下指令碼:

    for i in `ls`;do if [ "$i" != 1.tt ];then rm -rf $i;fi;done;

    執行效果如下圖所示。

    rm命令如何在刪除檔案時排除忽略某特定檔案