如何删除所有jpg文件,除了" 1.jpg"在壳中

时间:2016-11-02 23:44:57

标签: linux shell

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

2 个答案:

答案 0 :(得分:3)

您可以使用find,例如

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

但是要非常小心,如果你弄错了,你可以很容易地删除很多文件。首先进行“干运行”以检查将删除哪些文件,例如

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

答案 1 :(得分:1)

您可以使用extended glob pattern进行否定(需要Bash):

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