【shell】刪除指定文件名稱外的全部文件


開啟bash的extglob功能(此功能的作用就是用rm !(*jpg)這樣的方式來刪除不包括號內文件的文件)

rm -f !(file10) # 刪除全部(除括號外的文件) 保留單個
rm -rf !(test.sh|file1.log|file2.log) # 刪除全部(除括號外的文件 保留多個
rm -rf !(file5|file6|file7).txt # 刪除全部.txt(除括號外的文件 保留多個.txt

 

# 刪除txt目錄下除了touchfile.sh文件外的所有文件

    # 一個通過xargs傳參,一個通過find的-exec執行命令參數來完成
    find /xxx/txt -type f ! -name "touchfile.sh"|xargs rm -f 

    # find /xxx/txt -type f ! -name "touchfile.sh" -exec rm -f {} \;   

  運行結果

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM