繁体   English   中英

如何删除外壳中除“ 1.jpg”以外的所有jpg文件

[英]How can I delete all jpg files except “1.jpg” in shell

在我的Raspberry Pi中,有很多jpg文件。 我想删除1.jpg以外的所有jpg文件。 我该如何在shell脚本中做到这一点?

您可以使用find ,例如

find . -name \*.jpg \! -name 1.jpg -exec rm {} \;

但是请务必小心,如果遇到此错误,很容易无意间删除了许多文件。 首先执行“试运行”以检查哪些文件将被删除,例如

find . -name \*.jpg \! -name 1.jpg -exec echo "rm {}" \;

您可以使用扩展的glob模式进行求反(需要Bash):

$ shopt -s extglob
$ ls
1.jpg  2.jpg  name.jpg
$ ls !(1).jpg
2.jpg  name.jpg
$ rm !(1).jpg
$ ls
1.jpg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM