linux(模糊批量刪除文件)刪除指定文件夾中某個文件除外的其他文件


# shopt -s extglob
# rm -fr !(file1)
如果是多個要排除的,可以這樣:
# rm -rf !(file1|file2)
首先科普下shopt -s extglob
Bash Shell有個extglob選項,開啟之后Shell可以另外識別出5個模式匹配操作符,能使文件匹配更加方便。
開啟方法很簡單,使用shopt命令:shopt -s extglob
關閉,,使用shopt命令:shopt -u extglob
開啟之后,以下5個模式匹配操作符將被識別:
?(pattern-list) - 所給模式匹配0次或1次; *(pattern-list) - 所給模式匹配0次以上包括0次;+(pattern-list) - 所給模式匹配1次以上包括1次; @(pattern-list) - 所給模式僅僅匹配1次;!(pattern-list) - 不匹配括號內的所給模式。
示例
刪除文件名不以jpg結尾的文件:
rm -rf !(*jpg)
刪除文件名以jpg或png結尾的文件:
rm -rf *@(jpg|png)


免責聲明!

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



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