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