【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